diff --git a/GI/Soup.hs b/GI/Soup.hs
--- a/GI/Soup.hs
+++ b/GI/Soup.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,6 +17,10 @@
     module GI.Soup.Structs                  ,
 
 
+
+    module Data.GI.Base                     ,
+
+
     ) where
 
 import GI.Soup.Callbacks
@@ -37,4 +42,5 @@
 import GI.Soup.Types
 import GI.Soup.Callbacks
 
+import Data.GI.Base
 
diff --git a/GI/Soup/Callbacks.hs b/GI/Soup/Callbacks.hs
--- a/GI/Soup/Callbacks.hs
+++ b/GI/Soup/Callbacks.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -359,10 +360,10 @@
     Ptr URI ->
     Ptr () ->
     IO ()
-proxyURIResolverCallbackWrapper funptrptr _cb resolver status proxy_uri _ = do
+proxyURIResolverCallbackWrapper funptrptr _cb resolver status proxyUri _ = do
     resolver' <- (newObject ProxyURIResolver) resolver
-    proxy_uri' <- (newBoxed URI) proxy_uri
-    _cb  resolver' status proxy_uri'
+    proxyUri' <- (newBoxed URI) proxyUri
+    _cb  resolver' status proxyUri'
     maybeReleaseFunPtr funptrptr
 
 -- callback PasswordManagerCallback
@@ -400,12 +401,12 @@
     CInt ->
     Ptr () ->
     IO ()
-passwordManagerCallbackWrapper funptrptr _cb password_manager msg auth retrying _ = do
-    password_manager' <- (newObject PasswordManager) password_manager
+passwordManagerCallbackWrapper funptrptr _cb passwordManager msg auth retrying _ = do
+    passwordManager' <- (newObject PasswordManager) passwordManager
     msg' <- (newObject Message) msg
     auth' <- (newObject Auth) auth
     let retrying' = (/= 0) retrying
-    _cb  password_manager' msg' auth' retrying'
+    _cb  passwordManager' msg' auth' retrying'
     maybeReleaseFunPtr funptrptr
 
 -- callback MessageHeadersForeachFunc
@@ -551,9 +552,9 @@
     Word64 ->
     Ptr () ->
     IO (Ptr Buffer)
-chunkAllocatorWrapper funptrptr _cb msg max_len _ = do
+chunkAllocatorWrapper funptrptr _cb msg maxLen _ = do
     msg' <- (newObject Message) msg
-    result <- _cb  msg' max_len
+    result <- _cb  msg' maxLen
     maybeReleaseFunPtr funptrptr
     result' <- copyBoxed result
     return result'
diff --git a/GI/Soup/Constants.hs b/GI/Soup/Constants.hs
--- a/GI/Soup/Constants.hs
+++ b/GI/Soup/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/Soup/Enums.hs b/GI/Soup/Enums.hs
--- a/GI/Soup/Enums.hs
+++ b/GI/Soup/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/Soup/Flags.hs b/GI/Soup/Flags.hs
--- a/GI/Soup/Flags.hs
+++ b/GI/Soup/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/Soup/Functions.hs b/GI/Soup/Functions.hs
--- a/GI/Soup/Functions.hs
+++ b/GI/Soup/Functions.hs
@@ -1,2116 +1,1699 @@
 
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Soup.Functions
-    ( 
-
- -- * Methods
--- ** cookieParse
-    cookieParse                             ,
-
-
--- ** cookiesFromRequest
-    cookiesFromRequest                      ,
-
-
--- ** cookiesFromResponse
-    cookiesFromResponse                     ,
-
-
--- ** cookiesToCookieHeader
-    cookiesToCookieHeader                   ,
-
-
--- ** cookiesToRequest
-    cookiesToRequest                        ,
-
-
--- ** cookiesToResponse
-    cookiesToResponse                       ,
-
-
--- ** formDecode
-    formDecode                              ,
-
-
--- ** formDecodeMultipart
-    formDecodeMultipart                     ,
-
-
--- ** formEncodeDatalist
-    formEncodeDatalist                      ,
-
-
--- ** formEncodeHash
-    formEncodeHash                          ,
-
-
--- ** formRequestNewFromDatalist
-    formRequestNewFromDatalist              ,
-
-
--- ** formRequestNewFromHash
-    formRequestNewFromHash                  ,
-
-
--- ** formRequestNewFromMultipart
-    formRequestNewFromMultipart             ,
-
-
--- ** headerContains
-    headerContains                          ,
-
-
--- ** headerFreeParamList
-    headerFreeParamList                     ,
-
-
--- ** headerGStringAppendParam
-    headerGStringAppendParam                ,
-
-
--- ** headerGStringAppendParamQuoted
-    headerGStringAppendParamQuoted          ,
-
-
--- ** headerParseList
-    headerParseList                         ,
-
-
--- ** headerParseParamList
-    headerParseParamList                    ,
-
-
--- ** headerParseQualityList
-    headerParseQualityList                  ,
-
-
--- ** headerParseSemiParamList
-    headerParseSemiParamList                ,
-
-
--- ** headersParse
-    headersParse                            ,
-
-
--- ** headersParseRequest
-    headersParseRequest                     ,
-
-
--- ** headersParseResponse
-    headersParseResponse                    ,
-
-
--- ** headersParseStatusLine
-    headersParseStatusLine                  ,
-
-
--- ** httpErrorQuark
-    httpErrorQuark                          ,
-
-
--- ** messageHeadersIterInit
-    messageHeadersIterInit                  ,
-
-
--- ** requestErrorQuark
-    requestErrorQuark                       ,
-
-
--- ** requesterErrorQuark
-    requesterErrorQuark                     ,
-
-
--- ** statusGetPhrase
-    statusGetPhrase                         ,
-
-
--- ** statusProxify
-    statusProxify                           ,
-
-
--- ** strCaseEqual
-    strCaseEqual                            ,
-
-
--- ** strCaseHash
-    strCaseHash                             ,
-
-
--- ** tldDomainIsPublicSuffix
-    tldDomainIsPublicSuffix                 ,
-
-
--- ** tldErrorQuark
-    tldErrorQuark                           ,
-
-
--- ** tldGetBaseDomain
-    tldGetBaseDomain                        ,
-
-
--- ** uriDecode
-    uriDecode                               ,
-
-
--- ** uriEncode
-    uriEncode                               ,
-
-
--- ** uriNormalize
-    uriNormalize                            ,
-
-
--- ** valueArrayNew
-    valueArrayNew                           ,
-
-
--- ** websocketClientPrepareHandshake
-    websocketClientPrepareHandshake         ,
-
-
--- ** websocketClientVerifyHandshake
-    websocketClientVerifyHandshake          ,
-
-
--- ** websocketErrorGetQuark
-    websocketErrorGetQuark                  ,
-
-
--- ** websocketServerCheckHandshake
-    websocketServerCheckHandshake           ,
-
-
--- ** websocketServerProcessHandshake
-    websocketServerProcessHandshake         ,
-
-
--- ** xmlrpcBuildMethodCall
-    xmlrpcBuildMethodCall                   ,
-
-
--- ** xmlrpcBuildMethodResponse
-    xmlrpcBuildMethodResponse               ,
-
-
--- ** xmlrpcBuildRequest
-    xmlrpcBuildRequest                      ,
-
-
--- ** xmlrpcBuildResponse
-    xmlrpcBuildResponse                     ,
-
-
--- ** xmlrpcErrorQuark
-    xmlrpcErrorQuark                        ,
-
-
--- ** xmlrpcFaultQuark
-    xmlrpcFaultQuark                        ,
-
-
--- ** xmlrpcMessageNew
-    xmlrpcMessageNew                        ,
-
-
--- ** xmlrpcMessageSetResponse
-    xmlrpcMessageSetResponse                ,
-
-
--- ** xmlrpcParseMethodCall
-    xmlrpcParseMethodCall                   ,
-
-
--- ** xmlrpcParseMethodResponse
-    xmlrpcParseMethodResponse               ,
-
-
--- ** xmlrpcParseRequest
-    xmlrpcParseRequest                      ,
-
-
--- ** xmlrpcParseResponse
-    xmlrpcParseResponse                     ,
-
-
--- ** xmlrpcVariantGetDatetime
-    xmlrpcVariantGetDatetime                ,
-
-
--- ** xmlrpcVariantNewDatetime
-    xmlrpcVariantNewDatetime                ,
-
-
-
-
-    ) where
-
-import Prelude ()
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Soup.Types
-import GI.Soup.Callbacks
-import qualified GI.GLib as GLib
-import qualified GI.GObject as GObject
-
--- function soup_xmlrpc_variant_new_datetime
--- Args : [Arg {argName = "date", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "date", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TVariant
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_xmlrpc_variant_new_datetime" soup_xmlrpc_variant_new_datetime :: 
-    Ptr Date ->                             -- date : TInterface "Soup" "Date"
-    IO (Ptr GVariant)
-
-
-xmlrpcVariantNewDatetime ::
-    (MonadIO m) =>
-    Date ->                                 -- date
-    m GVariant
-xmlrpcVariantNewDatetime date = liftIO $ do
-    let date' = unsafeManagedPtrGetPtr date
-    result <- soup_xmlrpc_variant_new_datetime date'
-    checkUnexpectedReturnNULL "soup_xmlrpc_variant_new_datetime" result
-    result' <- wrapGVariantPtr result
-    touchManagedPtr date
-    return result'
-
-
--- function soup_xmlrpc_variant_get_datetime
--- Args : [Arg {argName = "variant", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "variant", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Soup" "Date"
--- throws : True
--- Skip return : False
-
-foreign import ccall "soup_xmlrpc_variant_get_datetime" soup_xmlrpc_variant_get_datetime :: 
-    Ptr GVariant ->                         -- variant : TVariant
-    Ptr (Ptr GError) ->                     -- error
-    IO (Ptr Date)
-
-
-xmlrpcVariantGetDatetime ::
-    (MonadIO m) =>
-    GVariant ->                             -- variant
-    m Date
-xmlrpcVariantGetDatetime variant = liftIO $ do
-    let variant' = unsafeManagedPtrGetPtr variant
-    onException (do
-        result <- propagateGError $ soup_xmlrpc_variant_get_datetime variant'
-        checkUnexpectedReturnNULL "soup_xmlrpc_variant_get_datetime" result
-        result' <- (wrapBoxed Date) result
-        return result'
-     ) (do
-        return ()
-     )
-
-
--- function soup_xmlrpc_parse_response
--- Args : [Arg {argName = "method_response", 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 = "signature", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "method_response", 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 = "signature", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TVariant
--- throws : True
--- Skip return : False
-
-foreign import ccall "soup_xmlrpc_parse_response" soup_xmlrpc_parse_response :: 
-    CString ->                              -- method_response : TBasicType TUTF8
-    Int32 ->                                -- length : TBasicType TInt32
-    CString ->                              -- signature : TBasicType TUTF8
-    Ptr (Ptr GError) ->                     -- error
-    IO (Ptr GVariant)
-
-
-xmlrpcParseResponse ::
-    (MonadIO m) =>
-    T.Text ->                               -- method_response
-    Int32 ->                                -- length
-    Maybe (T.Text) ->                       -- signature
-    m GVariant
-xmlrpcParseResponse method_response length_ signature = liftIO $ do
-    method_response' <- textToCString method_response
-    maybeSignature <- case signature of
-        Nothing -> return nullPtr
-        Just jSignature -> do
-            jSignature' <- textToCString jSignature
-            return jSignature'
-    onException (do
-        result <- propagateGError $ soup_xmlrpc_parse_response method_response' length_ maybeSignature
-        checkUnexpectedReturnNULL "soup_xmlrpc_parse_response" result
-        result' <- wrapGVariantPtr result
-        freeMem method_response'
-        freeMem maybeSignature
-        return result'
-     ) (do
-        freeMem method_response'
-        freeMem maybeSignature
-     )
-
-
--- function soup_xmlrpc_parse_request
--- Args : [Arg {argName = "method_call", 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 = "params", argType = TInterface "Soup" "XMLRPCParams", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "method_call", 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 TUTF8
--- throws : True
--- Skip return : False
-
-foreign import ccall "soup_xmlrpc_parse_request" soup_xmlrpc_parse_request :: 
-    CString ->                              -- method_call : TBasicType TUTF8
-    Int32 ->                                -- length : TBasicType TInt32
-    Ptr (Ptr XMLRPCParams) ->               -- params : TInterface "Soup" "XMLRPCParams"
-    Ptr (Ptr GError) ->                     -- error
-    IO CString
-
-
-xmlrpcParseRequest ::
-    (MonadIO m) =>
-    T.Text ->                               -- method_call
-    Int32 ->                                -- length
-    m (T.Text,XMLRPCParams)
-xmlrpcParseRequest method_call length_ = liftIO $ do
-    method_call' <- textToCString method_call
-    params <- allocMem :: IO (Ptr (Ptr XMLRPCParams))
-    onException (do
-        result <- propagateGError $ soup_xmlrpc_parse_request method_call' length_ params
-        checkUnexpectedReturnNULL "soup_xmlrpc_parse_request" result
-        result' <- cstringToText result
-        freeMem result
-        params' <- peek params
-        -- XXX Wrapping a foreign struct/union with no known destructor, leak?
-        params'' <- (\x -> XMLRPCParams <$> newForeignPtr_ x) params'
-        freeMem method_call'
-        freeMem params
-        return (result', params'')
-     ) (do
-        freeMem method_call'
-        freeMem params
-     )
-
-
--- function soup_xmlrpc_parse_method_response
--- Args : [Arg {argName = "method_response", 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 = "value", argType = TInterface "GObject" "Value", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "method_response", 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 TBoolean
--- throws : True
--- Skip return : False
-
-foreign import ccall "soup_xmlrpc_parse_method_response" soup_xmlrpc_parse_method_response :: 
-    CString ->                              -- method_response : TBasicType TUTF8
-    Int32 ->                                -- length : TBasicType TInt32
-    Ptr GValue ->                           -- value : TInterface "GObject" "Value"
-    Ptr (Ptr GError) ->                     -- error
-    IO CInt
-
-{-# DEPRECATED xmlrpcParseMethodResponse ["Use soup_xmlrpc_parse_response() instead."]#-}
-xmlrpcParseMethodResponse ::
-    (MonadIO m) =>
-    T.Text ->                               -- method_response
-    Int32 ->                                -- length
-    m (GValue)
-xmlrpcParseMethodResponse method_response length_ = liftIO $ do
-    method_response' <- textToCString method_response
-    value <- callocBoxedBytes 24 :: IO (Ptr GValue)
-    onException (do
-        _ <- propagateGError $ soup_xmlrpc_parse_method_response method_response' length_ value
-        value' <- (wrapBoxed GValue) value
-        freeMem method_response'
-        return value'
-     ) (do
-        freeMem method_response'
-        freeMem value
-     )
-
-
--- function soup_xmlrpc_parse_method_call
--- Args : [Arg {argName = "method_call", 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 = "method_name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "params", argType = TInterface "GObject" "ValueArray", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "method_call", 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 TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_xmlrpc_parse_method_call" soup_xmlrpc_parse_method_call :: 
-    CString ->                              -- method_call : TBasicType TUTF8
-    Int32 ->                                -- length : TBasicType TInt32
-    Ptr CString ->                          -- method_name : TBasicType TUTF8
-    Ptr GObject.ValueArray ->               -- params : TInterface "GObject" "ValueArray"
-    IO CInt
-
-{-# DEPRECATED xmlrpcParseMethodCall ["Use soup_xmlrpc_parse_request_full() instead."]#-}
-xmlrpcParseMethodCall ::
-    (MonadIO m) =>
-    T.Text ->                               -- method_call
-    Int32 ->                                -- length
-    m (Bool,T.Text,GObject.ValueArray)
-xmlrpcParseMethodCall method_call length_ = liftIO $ do
-    method_call' <- textToCString method_call
-    method_name <- allocMem :: IO (Ptr CString)
-    params <- callocBoxedBytes 24 :: IO (Ptr GObject.ValueArray)
-    result <- soup_xmlrpc_parse_method_call method_call' length_ method_name params
-    let result' = (/= 0) result
-    method_name' <- peek method_name
-    method_name'' <- cstringToText method_name'
-    freeMem method_name'
-    params' <- (wrapBoxed GObject.ValueArray) params
-    freeMem method_call'
-    freeMem method_name
-    return (result', method_name'', params')
-
-
--- function soup_xmlrpc_message_set_response
--- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : True
--- Skip return : False
-
-foreign import ccall "soup_xmlrpc_message_set_response" soup_xmlrpc_message_set_response :: 
-    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
-    Ptr GVariant ->                         -- value : TVariant
-    Ptr (Ptr GError) ->                     -- error
-    IO CInt
-
-
-xmlrpcMessageSetResponse ::
-    (MonadIO m, MessageK a) =>
-    a ->                                    -- msg
-    GVariant ->                             -- value
-    m ()
-xmlrpcMessageSetResponse msg value = liftIO $ do
-    let msg' = unsafeManagedPtrCastPtr msg
-    let value' = unsafeManagedPtrGetPtr value
-    onException (do
-        _ <- propagateGError $ soup_xmlrpc_message_set_response msg' value'
-        touchManagedPtr msg
-        return ()
-     ) (do
-        return ()
-     )
-
-
--- function soup_xmlrpc_message_new
--- Args : [Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "method_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "method_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Soup" "Message"
--- throws : True
--- Skip return : False
-
-foreign import ccall "soup_xmlrpc_message_new" soup_xmlrpc_message_new :: 
-    CString ->                              -- uri : TBasicType TUTF8
-    CString ->                              -- method_name : TBasicType TUTF8
-    Ptr GVariant ->                         -- params : TVariant
-    Ptr (Ptr GError) ->                     -- error
-    IO (Ptr Message)
-
-
-xmlrpcMessageNew ::
-    (MonadIO m) =>
-    T.Text ->                               -- uri
-    T.Text ->                               -- method_name
-    GVariant ->                             -- params
-    m Message
-xmlrpcMessageNew uri method_name params = liftIO $ do
-    uri' <- textToCString uri
-    method_name' <- textToCString method_name
-    let params' = unsafeManagedPtrGetPtr params
-    onException (do
-        result <- propagateGError $ soup_xmlrpc_message_new uri' method_name' params'
-        checkUnexpectedReturnNULL "soup_xmlrpc_message_new" result
-        result' <- (wrapObject Message) result
-        freeMem uri'
-        freeMem method_name'
-        return result'
-     ) (do
-        freeMem uri'
-        freeMem method_name'
-     )
-
-
--- function soup_xmlrpc_fault_quark
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_xmlrpc_fault_quark" soup_xmlrpc_fault_quark :: 
-    IO Word32
-
-
-xmlrpcFaultQuark ::
-    (MonadIO m) =>
-    m Word32
-xmlrpcFaultQuark  = liftIO $ do
-    result <- soup_xmlrpc_fault_quark
-    return result
-
-
--- function soup_xmlrpc_error_quark
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_xmlrpc_error_quark" soup_xmlrpc_error_quark :: 
-    IO Word32
-
-
-xmlrpcErrorQuark ::
-    (MonadIO m) =>
-    m Word32
-xmlrpcErrorQuark  = liftIO $ do
-    result <- soup_xmlrpc_error_quark
-    return result
-
-
--- function soup_xmlrpc_build_response
--- Args : [Arg {argName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : True
--- Skip return : False
-
-foreign import ccall "soup_xmlrpc_build_response" soup_xmlrpc_build_response :: 
-    Ptr GVariant ->                         -- value : TVariant
-    Ptr (Ptr GError) ->                     -- error
-    IO CString
-
-
-xmlrpcBuildResponse ::
-    (MonadIO m) =>
-    GVariant ->                             -- value
-    m T.Text
-xmlrpcBuildResponse value = liftIO $ do
-    let value' = unsafeManagedPtrGetPtr value
-    onException (do
-        result <- propagateGError $ soup_xmlrpc_build_response value'
-        checkUnexpectedReturnNULL "soup_xmlrpc_build_response" result
-        result' <- cstringToText result
-        freeMem result
-        return result'
-     ) (do
-        return ()
-     )
-
-
--- function soup_xmlrpc_build_request
--- Args : [Arg {argName = "method_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "method_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : True
--- Skip return : False
-
-foreign import ccall "soup_xmlrpc_build_request" soup_xmlrpc_build_request :: 
-    CString ->                              -- method_name : TBasicType TUTF8
-    Ptr GVariant ->                         -- params : TVariant
-    Ptr (Ptr GError) ->                     -- error
-    IO CString
-
-
-xmlrpcBuildRequest ::
-    (MonadIO m) =>
-    T.Text ->                               -- method_name
-    GVariant ->                             -- params
-    m T.Text
-xmlrpcBuildRequest method_name params = liftIO $ do
-    method_name' <- textToCString method_name
-    let params' = unsafeManagedPtrGetPtr params
-    onException (do
-        result <- propagateGError $ soup_xmlrpc_build_request method_name' params'
-        checkUnexpectedReturnNULL "soup_xmlrpc_build_request" result
-        result' <- cstringToText result
-        freeMem result
-        freeMem method_name'
-        return result'
-     ) (do
-        freeMem method_name'
-     )
-
-
--- function soup_xmlrpc_build_method_response
--- Args : [Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_xmlrpc_build_method_response" soup_xmlrpc_build_method_response :: 
-    Ptr GValue ->                           -- value : TInterface "GObject" "Value"
-    IO CString
-
-{-# DEPRECATED xmlrpcBuildMethodResponse ["Use soup_xmlrpc_build_response() instead."]#-}
-xmlrpcBuildMethodResponse ::
-    (MonadIO m) =>
-    GValue ->                               -- value
-    m T.Text
-xmlrpcBuildMethodResponse value = liftIO $ do
-    let value' = unsafeManagedPtrGetPtr value
-    result <- soup_xmlrpc_build_method_response value'
-    checkUnexpectedReturnNULL "soup_xmlrpc_build_method_response" result
-    result' <- cstringToText result
-    freeMem result
-    touchManagedPtr value
-    return result'
-
-
--- function soup_xmlrpc_build_method_call
--- Args : [Arg {argName = "method_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TCArray False (-1) 2 (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_params", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "n_params", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "method_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TCArray False (-1) 2 (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_xmlrpc_build_method_call" soup_xmlrpc_build_method_call :: 
-    CString ->                              -- method_name : TBasicType TUTF8
-    Ptr GValue ->                           -- params : TCArray False (-1) 2 (TInterface "GObject" "Value")
-    Int32 ->                                -- n_params : TBasicType TInt32
-    IO CString
-
-{-# DEPRECATED xmlrpcBuildMethodCall ["Use soup_xmlrpc_build_request() instead."]#-}
-xmlrpcBuildMethodCall ::
-    (MonadIO m) =>
-    T.Text ->                               -- method_name
-    [GValue] ->                             -- params
-    m T.Text
-xmlrpcBuildMethodCall method_name params = liftIO $ do
-    let n_params = fromIntegral $ length params
-    method_name' <- textToCString method_name
-    let params' = map unsafeManagedPtrGetPtr params
-    params'' <- packBlockArray 24 params'
-    result <- soup_xmlrpc_build_method_call method_name' params'' n_params
-    checkUnexpectedReturnNULL "soup_xmlrpc_build_method_call" result
-    result' <- cstringToText result
-    freeMem result
-    mapM_ touchManagedPtr params
-    freeMem method_name'
-    freeMem params''
-    return result'
-
-
--- function soup_websocket_server_process_handshake
--- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expected_origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expected_origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_websocket_server_process_handshake" soup_websocket_server_process_handshake :: 
-    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
-    CString ->                              -- expected_origin : TBasicType TUTF8
-    Ptr CString ->                          -- protocols : TCArray True (-1) (-1) (TBasicType TUTF8)
-    IO CInt
-
-
-websocketServerProcessHandshake ::
-    (MonadIO m, MessageK a) =>
-    a ->                                    -- msg
-    Maybe (T.Text) ->                       -- expected_origin
-    Maybe ([T.Text]) ->                     -- protocols
-    m Bool
-websocketServerProcessHandshake msg expected_origin protocols = liftIO $ do
-    let msg' = unsafeManagedPtrCastPtr msg
-    maybeExpected_origin <- case expected_origin of
-        Nothing -> return nullPtr
-        Just jExpected_origin -> do
-            jExpected_origin' <- textToCString jExpected_origin
-            return jExpected_origin'
-    maybeProtocols <- case protocols of
-        Nothing -> return nullPtr
-        Just jProtocols -> do
-            jProtocols' <- packZeroTerminatedUTF8CArray jProtocols
-            return jProtocols'
-    result <- soup_websocket_server_process_handshake msg' maybeExpected_origin maybeProtocols
-    let result' = (/= 0) result
-    touchManagedPtr msg
-    freeMem maybeExpected_origin
-    mapZeroTerminatedCArray freeMem maybeProtocols
-    freeMem maybeProtocols
-    return result'
-
-
--- function soup_websocket_server_check_handshake
--- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : True
--- Skip return : False
-
-foreign import ccall "soup_websocket_server_check_handshake" soup_websocket_server_check_handshake :: 
-    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
-    CString ->                              -- origin : TBasicType TUTF8
-    Ptr CString ->                          -- protocols : TCArray True (-1) (-1) (TBasicType TUTF8)
-    Ptr (Ptr GError) ->                     -- error
-    IO CInt
-
-
-websocketServerCheckHandshake ::
-    (MonadIO m, MessageK a) =>
-    a ->                                    -- msg
-    Maybe (T.Text) ->                       -- origin
-    Maybe ([T.Text]) ->                     -- protocols
-    m ()
-websocketServerCheckHandshake msg origin protocols = liftIO $ do
-    let msg' = unsafeManagedPtrCastPtr msg
-    maybeOrigin <- case origin of
-        Nothing -> return nullPtr
-        Just jOrigin -> do
-            jOrigin' <- textToCString jOrigin
-            return jOrigin'
-    maybeProtocols <- case protocols of
-        Nothing -> return nullPtr
-        Just jProtocols -> do
-            jProtocols' <- packZeroTerminatedUTF8CArray jProtocols
-            return jProtocols'
-    onException (do
-        _ <- propagateGError $ soup_websocket_server_check_handshake msg' maybeOrigin maybeProtocols
-        touchManagedPtr msg
-        freeMem maybeOrigin
-        mapZeroTerminatedCArray freeMem maybeProtocols
-        freeMem maybeProtocols
-        return ()
-     ) (do
-        freeMem maybeOrigin
-        mapZeroTerminatedCArray freeMem maybeProtocols
-        freeMem maybeProtocols
-     )
-
-
--- function soup_websocket_error_get_quark
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_websocket_error_get_quark" soup_websocket_error_get_quark :: 
-    IO Word32
-
-
-websocketErrorGetQuark ::
-    (MonadIO m) =>
-    m Word32
-websocketErrorGetQuark  = liftIO $ do
-    result <- soup_websocket_error_get_quark
-    return result
-
-
--- function soup_websocket_client_verify_handshake
--- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : True
--- Skip return : False
-
-foreign import ccall "soup_websocket_client_verify_handshake" soup_websocket_client_verify_handshake :: 
-    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
-    Ptr (Ptr GError) ->                     -- error
-    IO CInt
-
-
-websocketClientVerifyHandshake ::
-    (MonadIO m, MessageK a) =>
-    a ->                                    -- msg
-    m ()
-websocketClientVerifyHandshake msg = liftIO $ do
-    let msg' = unsafeManagedPtrCastPtr msg
-    onException (do
-        _ <- propagateGError $ soup_websocket_client_verify_handshake msg'
-        touchManagedPtr msg
-        return ()
-     ) (do
-        return ()
-     )
-
-
--- function soup_websocket_client_prepare_handshake
--- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_websocket_client_prepare_handshake" soup_websocket_client_prepare_handshake :: 
-    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
-    CString ->                              -- origin : TBasicType TUTF8
-    Ptr CString ->                          -- protocols : TCArray True (-1) (-1) (TBasicType TUTF8)
-    IO ()
-
-
-websocketClientPrepareHandshake ::
-    (MonadIO m, MessageK a) =>
-    a ->                                    -- msg
-    Maybe (T.Text) ->                       -- origin
-    Maybe ([T.Text]) ->                     -- protocols
-    m ()
-websocketClientPrepareHandshake msg origin protocols = liftIO $ do
-    let msg' = unsafeManagedPtrCastPtr msg
-    maybeOrigin <- case origin of
-        Nothing -> return nullPtr
-        Just jOrigin -> do
-            jOrigin' <- textToCString jOrigin
-            return jOrigin'
-    maybeProtocols <- case protocols of
-        Nothing -> return nullPtr
-        Just jProtocols -> do
-            jProtocols' <- packZeroTerminatedUTF8CArray jProtocols
-            return jProtocols'
-    soup_websocket_client_prepare_handshake msg' maybeOrigin maybeProtocols
-    touchManagedPtr msg
-    freeMem maybeOrigin
-    mapZeroTerminatedCArray freeMem maybeProtocols
-    freeMem maybeProtocols
-    return ()
-
-
--- function soup_value_hash_new
--- XXX Could not generate function soup_value_hash_new
--- Error was : Not implemented: "GHashTable element of type TInterface \"GObject\" \"Value\" unsupported."
-
--- function soup_value_hash_insert_value
--- XXX Could not generate function soup_value_hash_insert_value
--- Error was : Not implemented: "GHashTable element of type TInterface \"GObject\" \"Value\" unsupported."
-
--- function soup_value_array_new
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "GObject" "ValueArray"
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_value_array_new" soup_value_array_new :: 
-    IO (Ptr GObject.ValueArray)
-
-{-# DEPRECATED valueArrayNew ["Use #GVariant API instead."]#-}
-valueArrayNew ::
-    (MonadIO m) =>
-    m GObject.ValueArray
-valueArrayNew  = liftIO $ do
-    result <- soup_value_array_new
-    checkUnexpectedReturnNULL "soup_value_array_new" result
-    result' <- (wrapBoxed GObject.ValueArray) result
-    return result'
-
-
--- function soup_uri_normalize
--- Args : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "unescape_extra", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "unescape_extra", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_uri_normalize" soup_uri_normalize :: 
-    CString ->                              -- part : TBasicType TUTF8
-    CString ->                              -- unescape_extra : TBasicType TUTF8
-    IO CString
-
-
-uriNormalize ::
-    (MonadIO m) =>
-    T.Text ->                               -- part
-    Maybe (T.Text) ->                       -- unescape_extra
-    m T.Text
-uriNormalize part unescape_extra = liftIO $ do
-    part' <- textToCString part
-    maybeUnescape_extra <- case unescape_extra of
-        Nothing -> return nullPtr
-        Just jUnescape_extra -> do
-            jUnescape_extra' <- textToCString jUnescape_extra
-            return jUnescape_extra'
-    result <- soup_uri_normalize part' maybeUnescape_extra
-    checkUnexpectedReturnNULL "soup_uri_normalize" result
-    result' <- cstringToText result
-    freeMem result
-    freeMem part'
-    freeMem maybeUnescape_extra
-    return result'
-
-
--- function soup_uri_encode
--- Args : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "escape_extra", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "escape_extra", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_uri_encode" soup_uri_encode :: 
-    CString ->                              -- part : TBasicType TUTF8
-    CString ->                              -- escape_extra : TBasicType TUTF8
-    IO CString
-
-
-uriEncode ::
-    (MonadIO m) =>
-    T.Text ->                               -- part
-    Maybe (T.Text) ->                       -- escape_extra
-    m T.Text
-uriEncode part escape_extra = liftIO $ do
-    part' <- textToCString part
-    maybeEscape_extra <- case escape_extra of
-        Nothing -> return nullPtr
-        Just jEscape_extra -> do
-            jEscape_extra' <- textToCString jEscape_extra
-            return jEscape_extra'
-    result <- soup_uri_encode part' maybeEscape_extra
-    checkUnexpectedReturnNULL "soup_uri_encode" result
-    result' <- cstringToText result
-    freeMem result
-    freeMem part'
-    freeMem maybeEscape_extra
-    return result'
-
-
--- function soup_uri_decode
--- Args : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_uri_decode" soup_uri_decode :: 
-    CString ->                              -- part : TBasicType TUTF8
-    IO CString
-
-
-uriDecode ::
-    (MonadIO m) =>
-    T.Text ->                               -- part
-    m T.Text
-uriDecode part = liftIO $ do
-    part' <- textToCString part
-    result <- soup_uri_decode part'
-    checkUnexpectedReturnNULL "soup_uri_decode" result
-    result' <- cstringToText result
-    freeMem result
-    freeMem part'
-    return result'
-
-
--- function soup_tld_get_base_domain
--- Args : [Arg {argName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : True
--- Skip return : False
-
-foreign import ccall "soup_tld_get_base_domain" soup_tld_get_base_domain :: 
-    CString ->                              -- hostname : TBasicType TUTF8
-    Ptr (Ptr GError) ->                     -- error
-    IO CString
-
-
-tldGetBaseDomain ::
-    (MonadIO m) =>
-    T.Text ->                               -- hostname
-    m T.Text
-tldGetBaseDomain hostname = liftIO $ do
-    hostname' <- textToCString hostname
-    onException (do
-        result <- propagateGError $ soup_tld_get_base_domain hostname'
-        checkUnexpectedReturnNULL "soup_tld_get_base_domain" result
-        result' <- cstringToText result
-        freeMem hostname'
-        return result'
-     ) (do
-        freeMem hostname'
-     )
-
-
--- function soup_tld_error_quark
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_tld_error_quark" soup_tld_error_quark :: 
-    IO Word32
-
-
-tldErrorQuark ::
-    (MonadIO m) =>
-    m Word32
-tldErrorQuark  = liftIO $ do
-    result <- soup_tld_error_quark
-    return result
-
-
--- function soup_tld_domain_is_public_suffix
--- Args : [Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_tld_domain_is_public_suffix" soup_tld_domain_is_public_suffix :: 
-    CString ->                              -- domain : TBasicType TUTF8
-    IO CInt
-
-
-tldDomainIsPublicSuffix ::
-    (MonadIO m) =>
-    T.Text ->                               -- domain
-    m Bool
-tldDomainIsPublicSuffix domain = liftIO $ do
-    domain' <- textToCString domain
-    result <- soup_tld_domain_is_public_suffix domain'
-    let result' = (/= 0) result
-    freeMem domain'
-    return result'
-
-
--- function soup_str_case_hash
--- Args : [Arg {argName = "key", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "key", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_str_case_hash" soup_str_case_hash :: 
-    Ptr () ->                               -- key : TBasicType TVoid
-    IO Word32
-
-
-strCaseHash ::
-    (MonadIO m) =>
-    Ptr () ->                               -- key
-    m Word32
-strCaseHash key = liftIO $ do
-    result <- soup_str_case_hash key
-    return result
-
-
--- function soup_str_case_equal
--- Args : [Arg {argName = "v1", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v2", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "v1", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v2", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_str_case_equal" soup_str_case_equal :: 
-    Ptr () ->                               -- v1 : TBasicType TVoid
-    Ptr () ->                               -- v2 : TBasicType TVoid
-    IO CInt
-
-
-strCaseEqual ::
-    (MonadIO m) =>
-    Ptr () ->                               -- v1
-    Ptr () ->                               -- v2
-    m Bool
-strCaseEqual v1 v2 = liftIO $ do
-    result <- soup_str_case_equal v1 v2
-    let result' = (/= 0) result
-    return result'
-
-
--- function soup_status_proxify
--- Args : [Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_status_proxify" soup_status_proxify :: 
-    Word32 ->                               -- status_code : TBasicType TUInt32
-    IO Word32
-
-
-statusProxify ::
-    (MonadIO m) =>
-    Word32 ->                               -- status_code
-    m Word32
-statusProxify status_code = liftIO $ do
-    result <- soup_status_proxify status_code
-    return result
-
-
--- function soup_status_get_phrase
--- Args : [Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_status_get_phrase" soup_status_get_phrase :: 
-    Word32 ->                               -- status_code : TBasicType TUInt32
-    IO CString
-
-
-statusGetPhrase ::
-    (MonadIO m) =>
-    Word32 ->                               -- status_code
-    m T.Text
-statusGetPhrase status_code = liftIO $ do
-    result <- soup_status_get_phrase status_code
-    checkUnexpectedReturnNULL "soup_status_get_phrase" result
-    result' <- cstringToText result
-    return result'
-
-
--- function soup_requester_error_quark
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_requester_error_quark" soup_requester_error_quark :: 
-    IO Word32
-
-
-requesterErrorQuark ::
-    (MonadIO m) =>
-    m Word32
-requesterErrorQuark  = liftIO $ do
-    result <- soup_requester_error_quark
-    return result
-
-
--- function soup_request_error_quark
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_request_error_quark" soup_request_error_quark :: 
-    IO Word32
-
-
-requestErrorQuark ::
-    (MonadIO m) =>
-    m Word32
-requestErrorQuark  = liftIO $ do
-    result <- soup_request_error_quark
-    return result
-
-
--- function soup_message_headers_iter_init
--- Args : [Arg {argName = "iter", argType = TInterface "Soup" "MessageHeadersIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hdrs", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "hdrs", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_message_headers_iter_init" soup_message_headers_iter_init :: 
-    Ptr MessageHeadersIter ->               -- iter : TInterface "Soup" "MessageHeadersIter"
-    Ptr MessageHeaders ->                   -- hdrs : TInterface "Soup" "MessageHeaders"
-    IO ()
-
-
-messageHeadersIterInit ::
-    (MonadIO m) =>
-    MessageHeaders ->                       -- hdrs
-    m (MessageHeadersIter)
-messageHeadersIterInit hdrs = liftIO $ do
-    iter <- callocBytes 24 :: IO (Ptr MessageHeadersIter)
-    let hdrs' = unsafeManagedPtrGetPtr hdrs
-    soup_message_headers_iter_init iter hdrs'
-    iter' <- (wrapPtr MessageHeadersIter) iter
-    touchManagedPtr hdrs
-    return iter'
-
-
--- function soup_http_error_quark
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_http_error_quark" soup_http_error_quark :: 
-    IO Word32
-
-
-httpErrorQuark ::
-    (MonadIO m) =>
-    m Word32
-httpErrorQuark  = liftIO $ do
-    result <- soup_http_error_quark
-    return result
-
-
--- function soup_headers_parse_status_line
--- Args : [Arg {argName = "status_line", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ver", argType = TInterface "Soup" "HTTPVersion", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "reason_phrase", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "status_line", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_headers_parse_status_line" soup_headers_parse_status_line :: 
-    CString ->                              -- status_line : TBasicType TUTF8
-    Ptr CUInt ->                            -- ver : TInterface "Soup" "HTTPVersion"
-    Ptr Word32 ->                           -- status_code : TBasicType TUInt32
-    Ptr CString ->                          -- reason_phrase : TBasicType TUTF8
-    IO CInt
-
-
-headersParseStatusLine ::
-    (MonadIO m) =>
-    T.Text ->                               -- status_line
-    m (Bool,HTTPVersion,Word32,T.Text)
-headersParseStatusLine status_line = liftIO $ do
-    status_line' <- textToCString status_line
-    ver <- allocMem :: IO (Ptr CUInt)
-    status_code <- allocMem :: IO (Ptr Word32)
-    reason_phrase <- allocMem :: IO (Ptr CString)
-    result <- soup_headers_parse_status_line status_line' ver status_code reason_phrase
-    let result' = (/= 0) result
-    ver' <- peek ver
-    let ver'' = (toEnum . fromIntegral) ver'
-    status_code' <- peek status_code
-    reason_phrase' <- peek reason_phrase
-    reason_phrase'' <- cstringToText reason_phrase'
-    freeMem reason_phrase'
-    freeMem status_line'
-    freeMem ver
-    freeMem status_code
-    freeMem reason_phrase
-    return (result', ver'', status_code', reason_phrase'')
-
-
--- function soup_headers_parse_response
--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, 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},Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ver", argType = TInterface "Soup" "HTTPVersion", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "reason_phrase", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, 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},Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_headers_parse_response" soup_headers_parse_response :: 
-    CString ->                              -- str : TBasicType TUTF8
-    Int32 ->                                -- len : TBasicType TInt32
-    Ptr MessageHeaders ->                   -- headers : TInterface "Soup" "MessageHeaders"
-    Ptr CUInt ->                            -- ver : TInterface "Soup" "HTTPVersion"
-    Ptr Word32 ->                           -- status_code : TBasicType TUInt32
-    Ptr CString ->                          -- reason_phrase : TBasicType TUTF8
-    IO CInt
-
-
-headersParseResponse ::
-    (MonadIO m) =>
-    T.Text ->                               -- str
-    Int32 ->                                -- len
-    MessageHeaders ->                       -- headers
-    m (Bool,HTTPVersion,Word32,T.Text)
-headersParseResponse str len headers = liftIO $ do
-    str' <- textToCString str
-    let headers' = unsafeManagedPtrGetPtr headers
-    ver <- allocMem :: IO (Ptr CUInt)
-    status_code <- allocMem :: IO (Ptr Word32)
-    reason_phrase <- allocMem :: IO (Ptr CString)
-    result <- soup_headers_parse_response str' len headers' ver status_code reason_phrase
-    let result' = (/= 0) result
-    ver' <- peek ver
-    let ver'' = (toEnum . fromIntegral) ver'
-    status_code' <- peek status_code
-    reason_phrase' <- peek reason_phrase
-    reason_phrase'' <- cstringToText reason_phrase'
-    freeMem reason_phrase'
-    touchManagedPtr headers
-    freeMem str'
-    freeMem ver
-    freeMem status_code
-    freeMem reason_phrase
-    return (result', ver'', status_code', reason_phrase'')
-
-
--- function soup_headers_parse_request
--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, 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},Arg {argName = "req_headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_method", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "req_path", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "ver", argType = TInterface "Soup" "HTTPVersion", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, 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},Arg {argName = "req_headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_headers_parse_request" soup_headers_parse_request :: 
-    CString ->                              -- str : TBasicType TUTF8
-    Int32 ->                                -- len : TBasicType TInt32
-    Ptr MessageHeaders ->                   -- req_headers : TInterface "Soup" "MessageHeaders"
-    Ptr CString ->                          -- req_method : TBasicType TUTF8
-    Ptr CString ->                          -- req_path : TBasicType TUTF8
-    Ptr CUInt ->                            -- ver : TInterface "Soup" "HTTPVersion"
-    IO Word32
-
-
-headersParseRequest ::
-    (MonadIO m) =>
-    T.Text ->                               -- str
-    Int32 ->                                -- len
-    MessageHeaders ->                       -- req_headers
-    m (Word32,T.Text,T.Text,HTTPVersion)
-headersParseRequest str len req_headers = liftIO $ do
-    str' <- textToCString str
-    let req_headers' = unsafeManagedPtrGetPtr req_headers
-    req_method <- allocMem :: IO (Ptr CString)
-    req_path <- allocMem :: IO (Ptr CString)
-    ver <- allocMem :: IO (Ptr CUInt)
-    result <- soup_headers_parse_request str' len req_headers' req_method req_path ver
-    req_method' <- peek req_method
-    req_method'' <- cstringToText req_method'
-    freeMem req_method'
-    req_path' <- peek req_path
-    req_path'' <- cstringToText req_path'
-    freeMem req_path'
-    ver' <- peek ver
-    let ver'' = (toEnum . fromIntegral) ver'
-    touchManagedPtr req_headers
-    freeMem str'
-    freeMem req_method
-    freeMem req_path
-    freeMem ver
-    return (result, req_method'', req_path'', ver'')
-
-
--- function soup_headers_parse
--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, 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},Arg {argName = "dest", argType = TInterface "Soup" "MessageHeaders", 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},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_headers_parse" soup_headers_parse :: 
-    CString ->                              -- str : TBasicType TUTF8
-    Int32 ->                                -- len : TBasicType TInt32
-    Ptr MessageHeaders ->                   -- dest : TInterface "Soup" "MessageHeaders"
-    IO CInt
-
-
-headersParse ::
-    (MonadIO m) =>
-    T.Text ->                               -- str
-    Int32 ->                                -- len
-    MessageHeaders ->                       -- dest
-    m Bool
-headersParse str len dest = liftIO $ do
-    str' <- textToCString str
-    let dest' = unsafeManagedPtrGetPtr dest
-    result <- soup_headers_parse str' len dest'
-    let result' = (/= 0) result
-    touchManagedPtr dest
-    freeMem str'
-    return result'
-
-
--- function soup_header_parse_semi_param_list
--- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_header_parse_semi_param_list" soup_header_parse_semi_param_list :: 
-    CString ->                              -- header : TBasicType TUTF8
-    IO (Ptr (GHashTable CString CString))
-
-
-headerParseSemiParamList ::
-    (MonadIO m) =>
-    T.Text ->                               -- header
-    m (Map.Map T.Text T.Text)
-headerParseSemiParamList header = liftIO $ do
-    header' <- textToCString header
-    result <- soup_header_parse_semi_param_list header'
-    checkUnexpectedReturnNULL "soup_header_parse_semi_param_list" result
-    result' <- unpackGHashTable result
-    let result'' = mapFirst cstringUnpackPtr result'
-    result''' <- mapFirstA cstringToText result''
-    let result'''' = mapSecond cstringUnpackPtr result'''
-    result''''' <- mapSecondA cstringToText result''''
-    let result'''''' = Map.fromList result'''''
-    unrefGHashTable result
-    freeMem header'
-    return result''''''
-
-
--- function soup_header_parse_quality_list
--- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "unacceptable", argType = TGSList (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGSList (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_header_parse_quality_list" soup_header_parse_quality_list :: 
-    CString ->                              -- header : TBasicType TUTF8
-    Ptr (Ptr (GSList CString)) ->           -- unacceptable : TGSList (TBasicType TUTF8)
-    IO (Ptr (GSList CString))
-
-
-headerParseQualityList ::
-    (MonadIO m) =>
-    T.Text ->                               -- header
-    m ([T.Text],[T.Text])
-headerParseQualityList header = liftIO $ do
-    header' <- textToCString header
-    unacceptable <- allocMem :: IO (Ptr (Ptr (GSList CString)))
-    result <- soup_header_parse_quality_list header' unacceptable
-    checkUnexpectedReturnNULL "soup_header_parse_quality_list" result
-    result' <- unpackGSList result
-    result'' <- mapM cstringToText result'
-    mapGSList freeMem result
-    g_slist_free result
-    unacceptable' <- peek unacceptable
-    unacceptable'' <- unpackGSList unacceptable'
-    unacceptable''' <- mapM cstringToText unacceptable''
-    mapGSList freeMem unacceptable'
-    g_slist_free unacceptable'
-    freeMem header'
-    freeMem unacceptable
-    return (result'', unacceptable''')
-
-
--- function soup_header_parse_param_list
--- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_header_parse_param_list" soup_header_parse_param_list :: 
-    CString ->                              -- header : TBasicType TUTF8
-    IO (Ptr (GHashTable CString CString))
-
-
-headerParseParamList ::
-    (MonadIO m) =>
-    T.Text ->                               -- header
-    m (Map.Map T.Text T.Text)
-headerParseParamList header = liftIO $ do
-    header' <- textToCString header
-    result <- soup_header_parse_param_list header'
-    checkUnexpectedReturnNULL "soup_header_parse_param_list" result
-    result' <- unpackGHashTable result
-    let result'' = mapFirst cstringUnpackPtr result'
-    result''' <- mapFirstA cstringToText result''
-    let result'''' = mapSecond cstringUnpackPtr result'''
-    result''''' <- mapSecondA cstringToText result''''
-    let result'''''' = Map.fromList result'''''
-    unrefGHashTable result
-    freeMem header'
-    return result''''''
-
-
--- function soup_header_parse_list
--- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGSList (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_header_parse_list" soup_header_parse_list :: 
-    CString ->                              -- header : TBasicType TUTF8
-    IO (Ptr (GSList CString))
-
-
-headerParseList ::
-    (MonadIO m) =>
-    T.Text ->                               -- header
-    m [T.Text]
-headerParseList header = liftIO $ do
-    header' <- textToCString header
-    result <- soup_header_parse_list header'
-    checkUnexpectedReturnNULL "soup_header_parse_list" result
-    result' <- unpackGSList result
-    result'' <- mapM cstringToText result'
-    mapGSList freeMem result
-    g_slist_free result
-    freeMem header'
-    return result''
-
-
--- function soup_header_g_string_append_param_quoted
--- Args : [Arg {argName = "string", argType = TInterface "GLib" "String", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "string", argType = TInterface "GLib" "String", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_header_g_string_append_param_quoted" soup_header_g_string_append_param_quoted :: 
-    Ptr GLib.String ->                      -- string : TInterface "GLib" "String"
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- value : TBasicType TUTF8
-    IO ()
-
-
-headerGStringAppendParamQuoted ::
-    (MonadIO m) =>
-    GLib.String ->                          -- string
-    T.Text ->                               -- name
-    T.Text ->                               -- value
-    m ()
-headerGStringAppendParamQuoted string name value = liftIO $ do
-    let string' = unsafeManagedPtrGetPtr string
-    name' <- textToCString name
-    value' <- textToCString value
-    soup_header_g_string_append_param_quoted string' name' value'
-    touchManagedPtr string
-    freeMem name'
-    freeMem value'
-    return ()
-
-
--- function soup_header_g_string_append_param
--- Args : [Arg {argName = "string", argType = TInterface "GLib" "String", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "string", argType = TInterface "GLib" "String", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_header_g_string_append_param" soup_header_g_string_append_param :: 
-    Ptr GLib.String ->                      -- string : TInterface "GLib" "String"
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- value : TBasicType TUTF8
-    IO ()
-
-
-headerGStringAppendParam ::
-    (MonadIO m) =>
-    GLib.String ->                          -- string
-    T.Text ->                               -- name
-    T.Text ->                               -- value
-    m ()
-headerGStringAppendParam string name value = liftIO $ do
-    let string' = unsafeManagedPtrGetPtr string
-    name' <- textToCString name
-    value' <- textToCString value
-    soup_header_g_string_append_param string' name' value'
-    touchManagedPtr string
-    freeMem name'
-    freeMem value'
-    return ()
-
-
--- function soup_header_free_param_list
--- Args : [Arg {argName = "param_list", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "param_list", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_header_free_param_list" soup_header_free_param_list :: 
-    Ptr (GHashTable CString CString) ->     -- param_list : TGHash (TBasicType TUTF8) (TBasicType TUTF8)
-    IO ()
-
-
-headerFreeParamList ::
-    (MonadIO m) =>
-    Map.Map T.Text T.Text ->                -- param_list
-    m ()
-headerFreeParamList param_list = liftIO $ do
-    let param_list' = Map.toList param_list
-    param_list'' <- mapFirstA textToCString param_list'
-    param_list''' <- mapSecondA textToCString param_list''
-    let param_list'''' = mapFirst cstringPackPtr param_list'''
-    let param_list''''' = mapSecond cstringPackPtr param_list''''
-    param_list'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) param_list'''''
-    soup_header_free_param_list param_list''''''
-    unrefGHashTable param_list''''''
-    return ()
-
-
--- function soup_header_contains
--- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "token", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "token", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_header_contains" soup_header_contains :: 
-    CString ->                              -- header : TBasicType TUTF8
-    CString ->                              -- token : TBasicType TUTF8
-    IO CInt
-
-
-headerContains ::
-    (MonadIO m) =>
-    T.Text ->                               -- header
-    T.Text ->                               -- token
-    m Bool
-headerContains header token = liftIO $ do
-    header' <- textToCString header
-    token' <- textToCString token
-    result <- soup_header_contains header' token'
-    let result' = (/= 0) result
-    freeMem header'
-    freeMem token'
-    return result'
-
-
--- function soup_form_request_new_from_multipart
--- Args : [Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "multipart", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "multipart", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Soup" "Message"
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_form_request_new_from_multipart" soup_form_request_new_from_multipart :: 
-    CString ->                              -- uri : TBasicType TUTF8
-    Ptr Multipart ->                        -- multipart : TInterface "Soup" "Multipart"
-    IO (Ptr Message)
-
-
-formRequestNewFromMultipart ::
-    (MonadIO m) =>
-    T.Text ->                               -- uri
-    Multipart ->                            -- multipart
-    m Message
-formRequestNewFromMultipart uri multipart = liftIO $ do
-    uri' <- textToCString uri
-    let multipart' = unsafeManagedPtrGetPtr multipart
-    result <- soup_form_request_new_from_multipart uri' multipart'
-    checkUnexpectedReturnNULL "soup_form_request_new_from_multipart" result
-    result' <- (wrapObject Message) result
-    touchManagedPtr multipart
-    freeMem uri'
-    return result'
-
-
--- function soup_form_request_new_from_hash
--- Args : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form_data_set", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form_data_set", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Soup" "Message"
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_form_request_new_from_hash" soup_form_request_new_from_hash :: 
-    CString ->                              -- method : TBasicType TUTF8
-    CString ->                              -- uri : TBasicType TUTF8
-    Ptr (GHashTable CString CString) ->     -- form_data_set : TGHash (TBasicType TUTF8) (TBasicType TUTF8)
-    IO (Ptr Message)
-
-
-formRequestNewFromHash ::
-    (MonadIO m) =>
-    T.Text ->                               -- method
-    T.Text ->                               -- uri
-    Map.Map T.Text T.Text ->                -- form_data_set
-    m Message
-formRequestNewFromHash method uri form_data_set = liftIO $ do
-    method' <- textToCString method
-    uri' <- textToCString uri
-    let form_data_set' = Map.toList form_data_set
-    form_data_set'' <- mapFirstA textToCString form_data_set'
-    form_data_set''' <- mapSecondA textToCString form_data_set''
-    let form_data_set'''' = mapFirst cstringPackPtr form_data_set'''
-    let form_data_set''''' = mapSecond cstringPackPtr form_data_set''''
-    form_data_set'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) form_data_set'''''
-    result <- soup_form_request_new_from_hash method' uri' form_data_set''''''
-    checkUnexpectedReturnNULL "soup_form_request_new_from_hash" result
-    result' <- (wrapObject Message) result
-    freeMem method'
-    freeMem uri'
-    unrefGHashTable form_data_set''''''
-    return result'
-
-
--- function soup_form_request_new_from_datalist
--- Args : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form_data_set", argType = TInterface "GLib" "Data", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form_data_set", argType = TInterface "GLib" "Data", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Soup" "Message"
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_form_request_new_from_datalist" soup_form_request_new_from_datalist :: 
-    CString ->                              -- method : TBasicType TUTF8
-    CString ->                              -- uri : TBasicType TUTF8
-    Ptr GLib.Data ->                        -- form_data_set : TInterface "GLib" "Data"
-    IO (Ptr Message)
-
-
-formRequestNewFromDatalist ::
-    (MonadIO m) =>
-    T.Text ->                               -- method
-    T.Text ->                               -- uri
-    GLib.Data ->                            -- form_data_set
-    m Message
-formRequestNewFromDatalist method uri form_data_set = liftIO $ do
-    method' <- textToCString method
-    uri' <- textToCString uri
-    let form_data_set' = unsafeManagedPtrGetPtr form_data_set
-    result <- soup_form_request_new_from_datalist method' uri' form_data_set'
-    checkUnexpectedReturnNULL "soup_form_request_new_from_datalist" result
-    result' <- (wrapObject Message) result
-    touchManagedPtr form_data_set
-    freeMem method'
-    freeMem uri'
-    return result'
-
-
--- function soup_form_encode_hash
--- Args : [Arg {argName = "form_data_set", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "form_data_set", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_form_encode_hash" soup_form_encode_hash :: 
-    Ptr (GHashTable CString CString) ->     -- form_data_set : TGHash (TBasicType TUTF8) (TBasicType TUTF8)
-    IO CString
-
-
-formEncodeHash ::
-    (MonadIO m) =>
-    Map.Map T.Text T.Text ->                -- form_data_set
-    m T.Text
-formEncodeHash form_data_set = liftIO $ do
-    let form_data_set' = Map.toList form_data_set
-    form_data_set'' <- mapFirstA textToCString form_data_set'
-    form_data_set''' <- mapSecondA textToCString form_data_set''
-    let form_data_set'''' = mapFirst cstringPackPtr form_data_set'''
-    let form_data_set''''' = mapSecond cstringPackPtr form_data_set''''
-    form_data_set'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) form_data_set'''''
-    result <- soup_form_encode_hash form_data_set''''''
-    checkUnexpectedReturnNULL "soup_form_encode_hash" result
-    result' <- cstringToText result
-    freeMem result
-    unrefGHashTable form_data_set''''''
-    return result'
-
-
--- function soup_form_encode_datalist
--- Args : [Arg {argName = "form_data_set", argType = TInterface "GLib" "Data", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "form_data_set", argType = TInterface "GLib" "Data", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_form_encode_datalist" soup_form_encode_datalist :: 
-    Ptr GLib.Data ->                        -- form_data_set : TInterface "GLib" "Data"
-    IO CString
-
-
-formEncodeDatalist ::
-    (MonadIO m) =>
-    GLib.Data ->                            -- form_data_set
-    m T.Text
-formEncodeDatalist form_data_set = liftIO $ do
-    let form_data_set' = unsafeManagedPtrGetPtr form_data_set
-    result <- soup_form_encode_datalist form_data_set'
-    checkUnexpectedReturnNULL "soup_form_encode_datalist" result
-    result' <- cstringToText result
-    freeMem result
-    touchManagedPtr form_data_set
-    return result'
-
-
--- function soup_form_decode_multipart
--- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "file_control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "file", argType = TInterface "Soup" "Buffer", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "file_control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_form_decode_multipart" soup_form_decode_multipart :: 
-    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
-    CString ->                              -- file_control_name : TBasicType TUTF8
-    Ptr CString ->                          -- filename : TBasicType TUTF8
-    Ptr CString ->                          -- content_type : TBasicType TUTF8
-    Ptr Buffer ->                           -- file : TInterface "Soup" "Buffer"
-    IO (Ptr (GHashTable CString CString))
-
-
-formDecodeMultipart ::
-    (MonadIO m, MessageK a) =>
-    a ->                                    -- msg
-    Maybe (T.Text) ->                       -- file_control_name
-    m ((Map.Map T.Text T.Text),T.Text,T.Text,Buffer)
-formDecodeMultipart msg file_control_name = liftIO $ do
-    let msg' = unsafeManagedPtrCastPtr msg
-    maybeFile_control_name <- case file_control_name of
-        Nothing -> return nullPtr
-        Just jFile_control_name -> do
-            jFile_control_name' <- textToCString jFile_control_name
-            return jFile_control_name'
-    filename <- allocMem :: IO (Ptr CString)
-    content_type <- allocMem :: IO (Ptr CString)
-    file <- callocBoxedBytes 16 :: IO (Ptr Buffer)
-    result <- soup_form_decode_multipart msg' maybeFile_control_name filename content_type file
-    checkUnexpectedReturnNULL "soup_form_decode_multipart" result
-    result' <- unpackGHashTable result
-    let result'' = mapFirst cstringUnpackPtr result'
-    result''' <- mapFirstA cstringToText result''
-    let result'''' = mapSecond cstringUnpackPtr result'''
-    result''''' <- mapSecondA cstringToText result''''
-    let result'''''' = Map.fromList result'''''
-    unrefGHashTable result
-    filename' <- peek filename
-    filename'' <- cstringToText filename'
-    freeMem filename'
-    content_type' <- peek content_type
-    content_type'' <- cstringToText content_type'
-    freeMem content_type'
-    file' <- (wrapBoxed Buffer) file
-    touchManagedPtr msg
-    freeMem maybeFile_control_name
-    freeMem filename
-    freeMem content_type
-    return (result'''''', filename'', content_type'', file')
-
-
--- function soup_form_decode
--- Args : [Arg {argName = "encoded_form", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "encoded_form", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_form_decode" soup_form_decode :: 
-    CString ->                              -- encoded_form : TBasicType TUTF8
-    IO (Ptr (GHashTable CString CString))
-
-
-formDecode ::
-    (MonadIO m) =>
-    T.Text ->                               -- encoded_form
-    m (Map.Map T.Text T.Text)
-formDecode encoded_form = liftIO $ do
-    encoded_form' <- textToCString encoded_form
-    result <- soup_form_decode encoded_form'
-    checkUnexpectedReturnNULL "soup_form_decode" result
-    result' <- unpackGHashTable result
-    let result'' = mapFirst cstringUnpackPtr result'
-    result''' <- mapFirstA cstringToText result''
-    let result'''' = mapSecond cstringUnpackPtr result'''
-    result''''' <- mapSecondA cstringToText result''''
-    let result'''''' = Map.fromList result'''''
-    unrefGHashTable result
-    freeMem encoded_form'
-    return result''''''
-
-
--- function soup_cookies_to_response
--- Args : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_cookies_to_response" soup_cookies_to_response :: 
-    Ptr (GSList (Ptr Cookie)) ->            -- cookies : TGSList (TInterface "Soup" "Cookie")
-    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
-    IO ()
-
-
-cookiesToResponse ::
-    (MonadIO m, MessageK a) =>
-    [Cookie] ->                             -- cookies
-    a ->                                    -- msg
-    m ()
-cookiesToResponse cookies msg = liftIO $ do
-    let cookies' = map unsafeManagedPtrGetPtr cookies
-    cookies'' <- packGSList cookies'
-    let msg' = unsafeManagedPtrCastPtr msg
-    soup_cookies_to_response cookies'' msg'
-    mapM_ touchManagedPtr cookies
-    touchManagedPtr msg
-    g_slist_free cookies''
-    return ()
-
-
--- function soup_cookies_to_request
--- Args : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_cookies_to_request" soup_cookies_to_request :: 
-    Ptr (GSList (Ptr Cookie)) ->            -- cookies : TGSList (TInterface "Soup" "Cookie")
-    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
-    IO ()
-
-
-cookiesToRequest ::
-    (MonadIO m, MessageK a) =>
-    [Cookie] ->                             -- cookies
-    a ->                                    -- msg
-    m ()
-cookiesToRequest cookies msg = liftIO $ do
-    let cookies' = map unsafeManagedPtrGetPtr cookies
-    cookies'' <- packGSList cookies'
-    let msg' = unsafeManagedPtrCastPtr msg
-    soup_cookies_to_request cookies'' msg'
-    mapM_ touchManagedPtr cookies
-    touchManagedPtr msg
-    g_slist_free cookies''
-    return ()
-
-
--- function soup_cookies_to_cookie_header
--- Args : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_cookies_to_cookie_header" soup_cookies_to_cookie_header :: 
-    Ptr (GSList (Ptr Cookie)) ->            -- cookies : TGSList (TInterface "Soup" "Cookie")
-    IO CString
-
-
-cookiesToCookieHeader ::
-    (MonadIO m) =>
-    [Cookie] ->                             -- cookies
-    m T.Text
-cookiesToCookieHeader cookies = liftIO $ do
-    let cookies' = map unsafeManagedPtrGetPtr cookies
-    cookies'' <- packGSList cookies'
-    result <- soup_cookies_to_cookie_header cookies''
-    checkUnexpectedReturnNULL "soup_cookies_to_cookie_header" result
-    result' <- cstringToText result
-    freeMem result
-    mapM_ touchManagedPtr cookies
-    g_slist_free cookies''
-    return result'
-
-
--- function soup_cookies_from_response
--- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGSList (TInterface "Soup" "Cookie")
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_cookies_from_response" soup_cookies_from_response :: 
-    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
-    IO (Ptr (GSList (Ptr Cookie)))
-
-
-cookiesFromResponse ::
-    (MonadIO m, MessageK a) =>
-    a ->                                    -- msg
-    m [Cookie]
-cookiesFromResponse msg = liftIO $ do
-    let msg' = unsafeManagedPtrCastPtr msg
-    result <- soup_cookies_from_response msg'
-    checkUnexpectedReturnNULL "soup_cookies_from_response" result
-    result' <- unpackGSList result
-    result'' <- mapM (wrapBoxed Cookie) result'
-    g_slist_free result
-    touchManagedPtr msg
-    return result''
-
-
--- function soup_cookies_from_request
--- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGSList (TInterface "Soup" "Cookie")
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_cookies_from_request" soup_cookies_from_request :: 
-    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
-    IO (Ptr (GSList (Ptr Cookie)))
-
-
-cookiesFromRequest ::
-    (MonadIO m, MessageK a) =>
-    a ->                                    -- msg
-    m [Cookie]
-cookiesFromRequest msg = liftIO $ do
-    let msg' = unsafeManagedPtrCastPtr msg
-    result <- soup_cookies_from_request msg'
-    checkUnexpectedReturnNULL "soup_cookies_from_request" result
-    result' <- unpackGSList result
-    result'' <- mapM (wrapBoxed Cookie) result'
-    g_slist_free result
-    touchManagedPtr msg
-    return result''
-
-
--- function soup_cookie_parse
--- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Soup" "Cookie"
--- throws : False
--- Skip return : False
-
-foreign import ccall "soup_cookie_parse" soup_cookie_parse :: 
-    CString ->                              -- header : TBasicType TUTF8
-    Ptr URI ->                              -- origin : TInterface "Soup" "URI"
-    IO (Ptr Cookie)
-
-
-cookieParse ::
-    (MonadIO m) =>
-    T.Text ->                               -- header
-    URI ->                                  -- origin
-    m Cookie
-cookieParse header origin = liftIO $ do
-    header' <- textToCString header
-    let origin' = unsafeManagedPtrGetPtr origin
-    result <- soup_cookie_parse header' origin'
-    checkUnexpectedReturnNULL "soup_cookie_parse" result
-    result' <- (wrapBoxed Cookie) result
-    touchManagedPtr origin
-    freeMem header'
-    return result'
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.Soup.Functions
+    ( 
+
+ -- * Methods
+-- ** cookiesFromRequest
+    cookiesFromRequest                      ,
+
+
+-- ** cookiesFromResponse
+    cookiesFromResponse                     ,
+
+
+-- ** cookiesToCookieHeader
+    cookiesToCookieHeader                   ,
+
+
+-- ** cookiesToRequest
+    cookiesToRequest                        ,
+
+
+-- ** cookiesToResponse
+    cookiesToResponse                       ,
+
+
+-- ** formDecode
+    formDecode                              ,
+
+
+-- ** formDecodeMultipart
+    formDecodeMultipart                     ,
+
+
+-- ** formEncodeDatalist
+    formEncodeDatalist                      ,
+
+
+-- ** formEncodeHash
+    formEncodeHash                          ,
+
+
+-- ** formRequestNewFromDatalist
+    formRequestNewFromDatalist              ,
+
+
+-- ** formRequestNewFromHash
+    formRequestNewFromHash                  ,
+
+
+-- ** formRequestNewFromMultipart
+    formRequestNewFromMultipart             ,
+
+
+-- ** headerContains
+    headerContains                          ,
+
+
+-- ** headerFreeParamList
+    headerFreeParamList                     ,
+
+
+-- ** headerGStringAppendParam
+    headerGStringAppendParam                ,
+
+
+-- ** headerGStringAppendParamQuoted
+    headerGStringAppendParamQuoted          ,
+
+
+-- ** headerParseList
+    headerParseList                         ,
+
+
+-- ** headerParseParamList
+    headerParseParamList                    ,
+
+
+-- ** headerParseQualityList
+    headerParseQualityList                  ,
+
+
+-- ** headerParseSemiParamList
+    headerParseSemiParamList                ,
+
+
+-- ** headersParse
+    headersParse                            ,
+
+
+-- ** headersParseRequest
+    headersParseRequest                     ,
+
+
+-- ** headersParseResponse
+    headersParseResponse                    ,
+
+
+-- ** headersParseStatusLine
+    headersParseStatusLine                  ,
+
+
+-- ** httpErrorQuark
+    httpErrorQuark                          ,
+
+
+-- ** strCaseEqual
+    strCaseEqual                            ,
+
+
+-- ** strCaseHash
+    strCaseHash                             ,
+
+
+-- ** tldDomainIsPublicSuffix
+    tldDomainIsPublicSuffix                 ,
+
+
+-- ** tldGetBaseDomain
+    tldGetBaseDomain                        ,
+
+
+-- ** valueArrayNew
+    valueArrayNew                           ,
+
+
+-- ** websocketClientPrepareHandshake
+    websocketClientPrepareHandshake         ,
+
+
+-- ** websocketClientVerifyHandshake
+    websocketClientVerifyHandshake          ,
+
+
+-- ** websocketServerCheckHandshake
+    websocketServerCheckHandshake           ,
+
+
+-- ** websocketServerProcessHandshake
+    websocketServerProcessHandshake         ,
+
+
+-- ** xmlrpcBuildMethodCall
+    xmlrpcBuildMethodCall                   ,
+
+
+-- ** xmlrpcBuildMethodResponse
+    xmlrpcBuildMethodResponse               ,
+
+
+-- ** xmlrpcBuildRequest
+    xmlrpcBuildRequest                      ,
+
+
+-- ** xmlrpcBuildResponse
+    xmlrpcBuildResponse                     ,
+
+
+-- ** xmlrpcMessageNew
+    xmlrpcMessageNew                        ,
+
+
+-- ** xmlrpcMessageSetResponse
+    xmlrpcMessageSetResponse                ,
+
+
+-- ** xmlrpcParseMethodCall
+    xmlrpcParseMethodCall                   ,
+
+
+-- ** xmlrpcParseMethodResponse
+    xmlrpcParseMethodResponse               ,
+
+
+-- ** xmlrpcParseRequest
+    xmlrpcParseRequest                      ,
+
+
+-- ** xmlrpcParseResponse
+    xmlrpcParseResponse                     ,
+
+
+-- ** xmlrpcVariantGetDatetime
+    xmlrpcVariantGetDatetime                ,
+
+
+-- ** xmlrpcVariantNewDatetime
+    xmlrpcVariantNewDatetime                ,
+
+
+
+
+    ) where
+
+import Prelude ()
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.Soup.Types
+import GI.Soup.Callbacks
+import qualified GI.GLib as GLib
+import qualified GI.GObject as GObject
+
+-- function soup_xmlrpc_variant_new_datetime
+-- Args : [Arg {argCName = "date", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TVariant
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_xmlrpc_variant_new_datetime" soup_xmlrpc_variant_new_datetime :: 
+    Ptr Date ->                             -- date : TInterface "Soup" "Date"
+    IO (Ptr GVariant)
+
+
+xmlrpcVariantNewDatetime ::
+    (MonadIO m) =>
+    Date                                    -- date
+    -> m GVariant                           -- result
+xmlrpcVariantNewDatetime date = liftIO $ do
+    let date' = unsafeManagedPtrGetPtr date
+    result <- soup_xmlrpc_variant_new_datetime date'
+    checkUnexpectedReturnNULL "soup_xmlrpc_variant_new_datetime" result
+    result' <- wrapGVariantPtr result
+    touchManagedPtr date
+    return result'
+
+
+-- function soup_xmlrpc_variant_get_datetime
+-- Args : [Arg {argCName = "variant", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "Soup" "Date"
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "soup_xmlrpc_variant_get_datetime" soup_xmlrpc_variant_get_datetime :: 
+    Ptr GVariant ->                         -- variant : TVariant
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr Date)
+
+
+xmlrpcVariantGetDatetime ::
+    (MonadIO m) =>
+    GVariant                                -- variant
+    -> m Date                               -- result
+xmlrpcVariantGetDatetime variant = liftIO $ do
+    let variant' = unsafeManagedPtrGetPtr variant
+    onException (do
+        result <- propagateGError $ soup_xmlrpc_variant_get_datetime variant'
+        checkUnexpectedReturnNULL "soup_xmlrpc_variant_get_datetime" result
+        result' <- (wrapBoxed Date) result
+        return result'
+     ) (do
+        return ()
+     )
+
+
+-- function soup_xmlrpc_parse_response
+-- Args : [Arg {argCName = "method_response", 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 = "signature", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TVariant
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "soup_xmlrpc_parse_response" soup_xmlrpc_parse_response :: 
+    CString ->                              -- method_response : TBasicType TUTF8
+    Int32 ->                                -- length : TBasicType TInt32
+    CString ->                              -- signature : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr GVariant)
+
+
+xmlrpcParseResponse ::
+    (MonadIO m) =>
+    T.Text                                  -- methodResponse
+    -> Int32                                -- length_
+    -> Maybe (T.Text)                       -- signature
+    -> m GVariant                           -- result
+xmlrpcParseResponse methodResponse length_ signature = liftIO $ do
+    methodResponse' <- textToCString methodResponse
+    maybeSignature <- case signature of
+        Nothing -> return nullPtr
+        Just jSignature -> do
+            jSignature' <- textToCString jSignature
+            return jSignature'
+    onException (do
+        result <- propagateGError $ soup_xmlrpc_parse_response methodResponse' length_ maybeSignature
+        checkUnexpectedReturnNULL "soup_xmlrpc_parse_response" result
+        result' <- wrapGVariantPtr result
+        freeMem methodResponse'
+        freeMem maybeSignature
+        return result'
+     ) (do
+        freeMem methodResponse'
+        freeMem maybeSignature
+     )
+
+
+-- function soup_xmlrpc_parse_request
+-- Args : [Arg {argCName = "method_call", 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 = "params", argType = TInterface "Soup" "XMLRPCParams", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "soup_xmlrpc_parse_request" soup_xmlrpc_parse_request :: 
+    CString ->                              -- method_call : TBasicType TUTF8
+    Int32 ->                                -- length : TBasicType TInt32
+    Ptr (Ptr XMLRPCParams) ->               -- params : TInterface "Soup" "XMLRPCParams"
+    Ptr (Ptr GError) ->                     -- error
+    IO CString
+
+
+xmlrpcParseRequest ::
+    (MonadIO m) =>
+    T.Text                                  -- methodCall
+    -> Int32                                -- length_
+    -> m (T.Text,XMLRPCParams)              -- result
+xmlrpcParseRequest methodCall length_ = liftIO $ do
+    methodCall' <- textToCString methodCall
+    params <- allocMem :: IO (Ptr (Ptr XMLRPCParams))
+    onException (do
+        result <- propagateGError $ soup_xmlrpc_parse_request methodCall' length_ params
+        checkUnexpectedReturnNULL "soup_xmlrpc_parse_request" result
+        result' <- cstringToText result
+        freeMem result
+        params' <- peek params
+        -- XXX Wrapping a foreign struct/union with no known destructor, leak?
+        params'' <- (\x -> XMLRPCParams <$> newForeignPtr_ x) params'
+        freeMem methodCall'
+        freeMem params
+        return (result', params'')
+     ) (do
+        freeMem methodCall'
+        freeMem params
+     )
+
+
+-- function soup_xmlrpc_parse_method_response
+-- Args : [Arg {argCName = "method_response", 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 = "value", argType = TInterface "GObject" "Value", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "soup_xmlrpc_parse_method_response" soup_xmlrpc_parse_method_response :: 
+    CString ->                              -- method_response : TBasicType TUTF8
+    Int32 ->                                -- length : TBasicType TInt32
+    Ptr GValue ->                           -- value : TInterface "GObject" "Value"
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{-# DEPRECATED xmlrpcParseMethodResponse ["Use soup_xmlrpc_parse_response() instead."]#-}
+xmlrpcParseMethodResponse ::
+    (MonadIO m) =>
+    T.Text                                  -- methodResponse
+    -> Int32                                -- length_
+    -> m (GValue)                           -- result
+xmlrpcParseMethodResponse methodResponse length_ = liftIO $ do
+    methodResponse' <- textToCString methodResponse
+    value <- callocBoxedBytes 24 :: IO (Ptr GValue)
+    onException (do
+        _ <- propagateGError $ soup_xmlrpc_parse_method_response methodResponse' length_ value
+        value' <- (wrapBoxed GValue) value
+        freeMem methodResponse'
+        return value'
+     ) (do
+        freeMem methodResponse'
+        freeMem value
+     )
+
+
+-- function soup_xmlrpc_parse_method_call
+-- Args : [Arg {argCName = "method_call", 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 = "method_name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "params", argType = TInterface "GObject" "ValueArray", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_xmlrpc_parse_method_call" soup_xmlrpc_parse_method_call :: 
+    CString ->                              -- method_call : TBasicType TUTF8
+    Int32 ->                                -- length : TBasicType TInt32
+    Ptr CString ->                          -- method_name : TBasicType TUTF8
+    Ptr GObject.ValueArray ->               -- params : TInterface "GObject" "ValueArray"
+    IO CInt
+
+{-# DEPRECATED xmlrpcParseMethodCall ["Use soup_xmlrpc_parse_request_full() instead."]#-}
+xmlrpcParseMethodCall ::
+    (MonadIO m) =>
+    T.Text                                  -- methodCall
+    -> Int32                                -- length_
+    -> m (Bool,T.Text,GObject.ValueArray)   -- result
+xmlrpcParseMethodCall methodCall length_ = liftIO $ do
+    methodCall' <- textToCString methodCall
+    methodName <- allocMem :: IO (Ptr CString)
+    params <- callocBoxedBytes 24 :: IO (Ptr GObject.ValueArray)
+    result <- soup_xmlrpc_parse_method_call methodCall' length_ methodName params
+    let result' = (/= 0) result
+    methodName' <- peek methodName
+    methodName'' <- cstringToText methodName'
+    freeMem methodName'
+    params' <- (wrapBoxed GObject.ValueArray) params
+    freeMem methodCall'
+    freeMem methodName
+    return (result', methodName'', params')
+
+
+-- function soup_xmlrpc_message_set_response
+-- Args : [Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "soup_xmlrpc_message_set_response" soup_xmlrpc_message_set_response :: 
+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
+    Ptr GVariant ->                         -- value : TVariant
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+
+xmlrpcMessageSetResponse ::
+    (MonadIO m, MessageK a) =>
+    a                                       -- msg
+    -> GVariant                             -- value
+    -> m ()                                 -- result
+xmlrpcMessageSetResponse msg value = liftIO $ do
+    let msg' = unsafeManagedPtrCastPtr msg
+    let value' = unsafeManagedPtrGetPtr value
+    onException (do
+        _ <- propagateGError $ soup_xmlrpc_message_set_response msg' value'
+        touchManagedPtr msg
+        return ()
+     ) (do
+        return ()
+     )
+
+
+-- function soup_xmlrpc_message_new
+-- Args : [Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "method_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "Soup" "Message"
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "soup_xmlrpc_message_new" soup_xmlrpc_message_new :: 
+    CString ->                              -- uri : TBasicType TUTF8
+    CString ->                              -- method_name : TBasicType TUTF8
+    Ptr GVariant ->                         -- params : TVariant
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr Message)
+
+
+xmlrpcMessageNew ::
+    (MonadIO m) =>
+    T.Text                                  -- uri
+    -> T.Text                               -- methodName
+    -> GVariant                             -- params
+    -> m Message                            -- result
+xmlrpcMessageNew uri methodName params = liftIO $ do
+    uri' <- textToCString uri
+    methodName' <- textToCString methodName
+    let params' = unsafeManagedPtrGetPtr params
+    onException (do
+        result <- propagateGError $ soup_xmlrpc_message_new uri' methodName' params'
+        checkUnexpectedReturnNULL "soup_xmlrpc_message_new" result
+        result' <- (wrapObject Message) result
+        freeMem uri'
+        freeMem methodName'
+        return result'
+     ) (do
+        freeMem uri'
+        freeMem methodName'
+     )
+
+
+-- function soup_xmlrpc_build_response
+-- Args : [Arg {argCName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "soup_xmlrpc_build_response" soup_xmlrpc_build_response :: 
+    Ptr GVariant ->                         -- value : TVariant
+    Ptr (Ptr GError) ->                     -- error
+    IO CString
+
+
+xmlrpcBuildResponse ::
+    (MonadIO m) =>
+    GVariant                                -- value
+    -> m T.Text                             -- result
+xmlrpcBuildResponse value = liftIO $ do
+    let value' = unsafeManagedPtrGetPtr value
+    onException (do
+        result <- propagateGError $ soup_xmlrpc_build_response value'
+        checkUnexpectedReturnNULL "soup_xmlrpc_build_response" result
+        result' <- cstringToText result
+        freeMem result
+        return result'
+     ) (do
+        return ()
+     )
+
+
+-- function soup_xmlrpc_build_request
+-- Args : [Arg {argCName = "method_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "soup_xmlrpc_build_request" soup_xmlrpc_build_request :: 
+    CString ->                              -- method_name : TBasicType TUTF8
+    Ptr GVariant ->                         -- params : TVariant
+    Ptr (Ptr GError) ->                     -- error
+    IO CString
+
+
+xmlrpcBuildRequest ::
+    (MonadIO m) =>
+    T.Text                                  -- methodName
+    -> GVariant                             -- params
+    -> m T.Text                             -- result
+xmlrpcBuildRequest methodName params = liftIO $ do
+    methodName' <- textToCString methodName
+    let params' = unsafeManagedPtrGetPtr params
+    onException (do
+        result <- propagateGError $ soup_xmlrpc_build_request methodName' params'
+        checkUnexpectedReturnNULL "soup_xmlrpc_build_request" result
+        result' <- cstringToText result
+        freeMem result
+        freeMem methodName'
+        return result'
+     ) (do
+        freeMem methodName'
+     )
+
+
+-- function soup_xmlrpc_build_method_response
+-- Args : [Arg {argCName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_xmlrpc_build_method_response" soup_xmlrpc_build_method_response :: 
+    Ptr GValue ->                           -- value : TInterface "GObject" "Value"
+    IO CString
+
+{-# DEPRECATED xmlrpcBuildMethodResponse ["Use soup_xmlrpc_build_response() instead."]#-}
+xmlrpcBuildMethodResponse ::
+    (MonadIO m) =>
+    GValue                                  -- value
+    -> m T.Text                             -- result
+xmlrpcBuildMethodResponse value = liftIO $ do
+    let value' = unsafeManagedPtrGetPtr value
+    result <- soup_xmlrpc_build_method_response value'
+    checkUnexpectedReturnNULL "soup_xmlrpc_build_method_response" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr value
+    return result'
+
+
+-- function soup_xmlrpc_build_method_call
+-- Args : [Arg {argCName = "method_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TCArray False (-1) 2 (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_params", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_params", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_xmlrpc_build_method_call" soup_xmlrpc_build_method_call :: 
+    CString ->                              -- method_name : TBasicType TUTF8
+    Ptr GValue ->                           -- params : TCArray False (-1) 2 (TInterface "GObject" "Value")
+    Int32 ->                                -- n_params : TBasicType TInt32
+    IO CString
+
+{-# DEPRECATED xmlrpcBuildMethodCall ["Use soup_xmlrpc_build_request() instead."]#-}
+xmlrpcBuildMethodCall ::
+    (MonadIO m) =>
+    T.Text                                  -- methodName
+    -> [GValue]                             -- params
+    -> m T.Text                             -- result
+xmlrpcBuildMethodCall methodName params = liftIO $ do
+    let nParams = fromIntegral $ length params
+    methodName' <- textToCString methodName
+    let params' = map unsafeManagedPtrGetPtr params
+    params'' <- packBlockArray 24 params'
+    result <- soup_xmlrpc_build_method_call methodName' params'' nParams
+    checkUnexpectedReturnNULL "soup_xmlrpc_build_method_call" result
+    result' <- cstringToText result
+    freeMem result
+    mapM_ touchManagedPtr params
+    freeMem methodName'
+    freeMem params''
+    return result'
+
+
+-- function soup_websocket_server_process_handshake
+-- Args : [Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expected_origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_websocket_server_process_handshake" soup_websocket_server_process_handshake :: 
+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
+    CString ->                              -- expected_origin : TBasicType TUTF8
+    Ptr CString ->                          -- protocols : TCArray True (-1) (-1) (TBasicType TUTF8)
+    IO CInt
+
+
+websocketServerProcessHandshake ::
+    (MonadIO m, MessageK a) =>
+    a                                       -- msg
+    -> Maybe (T.Text)                       -- expectedOrigin
+    -> Maybe ([T.Text])                     -- protocols
+    -> m Bool                               -- result
+websocketServerProcessHandshake msg expectedOrigin protocols = liftIO $ do
+    let msg' = unsafeManagedPtrCastPtr msg
+    maybeExpectedOrigin <- case expectedOrigin of
+        Nothing -> return nullPtr
+        Just jExpectedOrigin -> do
+            jExpectedOrigin' <- textToCString jExpectedOrigin
+            return jExpectedOrigin'
+    maybeProtocols <- case protocols of
+        Nothing -> return nullPtr
+        Just jProtocols -> do
+            jProtocols' <- packZeroTerminatedUTF8CArray jProtocols
+            return jProtocols'
+    result <- soup_websocket_server_process_handshake msg' maybeExpectedOrigin maybeProtocols
+    let result' = (/= 0) result
+    touchManagedPtr msg
+    freeMem maybeExpectedOrigin
+    mapZeroTerminatedCArray freeMem maybeProtocols
+    freeMem maybeProtocols
+    return result'
+
+
+-- function soup_websocket_server_check_handshake
+-- Args : [Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "soup_websocket_server_check_handshake" soup_websocket_server_check_handshake :: 
+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
+    CString ->                              -- origin : TBasicType TUTF8
+    Ptr CString ->                          -- protocols : TCArray True (-1) (-1) (TBasicType TUTF8)
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+
+websocketServerCheckHandshake ::
+    (MonadIO m, MessageK a) =>
+    a                                       -- msg
+    -> Maybe (T.Text)                       -- origin
+    -> Maybe ([T.Text])                     -- protocols
+    -> m ()                                 -- result
+websocketServerCheckHandshake msg origin protocols = liftIO $ do
+    let msg' = unsafeManagedPtrCastPtr msg
+    maybeOrigin <- case origin of
+        Nothing -> return nullPtr
+        Just jOrigin -> do
+            jOrigin' <- textToCString jOrigin
+            return jOrigin'
+    maybeProtocols <- case protocols of
+        Nothing -> return nullPtr
+        Just jProtocols -> do
+            jProtocols' <- packZeroTerminatedUTF8CArray jProtocols
+            return jProtocols'
+    onException (do
+        _ <- propagateGError $ soup_websocket_server_check_handshake msg' maybeOrigin maybeProtocols
+        touchManagedPtr msg
+        freeMem maybeOrigin
+        mapZeroTerminatedCArray freeMem maybeProtocols
+        freeMem maybeProtocols
+        return ()
+     ) (do
+        freeMem maybeOrigin
+        mapZeroTerminatedCArray freeMem maybeProtocols
+        freeMem maybeProtocols
+     )
+
+
+-- function soup_websocket_client_verify_handshake
+-- Args : [Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "soup_websocket_client_verify_handshake" soup_websocket_client_verify_handshake :: 
+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+
+websocketClientVerifyHandshake ::
+    (MonadIO m, MessageK a) =>
+    a                                       -- msg
+    -> m ()                                 -- result
+websocketClientVerifyHandshake msg = liftIO $ do
+    let msg' = unsafeManagedPtrCastPtr msg
+    onException (do
+        _ <- propagateGError $ soup_websocket_client_verify_handshake msg'
+        touchManagedPtr msg
+        return ()
+     ) (do
+        return ()
+     )
+
+
+-- function soup_websocket_client_prepare_handshake
+-- Args : [Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_websocket_client_prepare_handshake" soup_websocket_client_prepare_handshake :: 
+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
+    CString ->                              -- origin : TBasicType TUTF8
+    Ptr CString ->                          -- protocols : TCArray True (-1) (-1) (TBasicType TUTF8)
+    IO ()
+
+
+websocketClientPrepareHandshake ::
+    (MonadIO m, MessageK a) =>
+    a                                       -- msg
+    -> Maybe (T.Text)                       -- origin
+    -> Maybe ([T.Text])                     -- protocols
+    -> m ()                                 -- result
+websocketClientPrepareHandshake msg origin protocols = liftIO $ do
+    let msg' = unsafeManagedPtrCastPtr msg
+    maybeOrigin <- case origin of
+        Nothing -> return nullPtr
+        Just jOrigin -> do
+            jOrigin' <- textToCString jOrigin
+            return jOrigin'
+    maybeProtocols <- case protocols of
+        Nothing -> return nullPtr
+        Just jProtocols -> do
+            jProtocols' <- packZeroTerminatedUTF8CArray jProtocols
+            return jProtocols'
+    soup_websocket_client_prepare_handshake msg' maybeOrigin maybeProtocols
+    touchManagedPtr msg
+    freeMem maybeOrigin
+    mapZeroTerminatedCArray freeMem maybeProtocols
+    freeMem maybeProtocols
+    return ()
+
+
+-- function soup_value_hash_new
+-- XXX Could not generate function soup_value_hash_new
+-- Error was : Not implemented: "GHashTable element of type TInterface \"GObject\" \"Value\" unsupported."
+
+-- function soup_value_hash_insert_value
+-- XXX Could not generate function soup_value_hash_insert_value
+-- Error was : Not implemented: "GHashTable element of type TInterface \"GObject\" \"Value\" unsupported."
+
+-- function soup_value_array_new
+-- Args : []
+-- Lengths : []
+-- returnType : TInterface "GObject" "ValueArray"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_value_array_new" soup_value_array_new :: 
+    IO (Ptr GObject.ValueArray)
+
+{-# DEPRECATED valueArrayNew ["Use #GVariant API instead."]#-}
+valueArrayNew ::
+    (MonadIO m) =>
+    m GObject.ValueArray                    -- result
+valueArrayNew  = liftIO $ do
+    result <- soup_value_array_new
+    checkUnexpectedReturnNULL "soup_value_array_new" result
+    result' <- (wrapBoxed GObject.ValueArray) result
+    return result'
+
+
+-- function soup_tld_get_base_domain
+-- Args : [Arg {argCName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "soup_tld_get_base_domain" soup_tld_get_base_domain :: 
+    CString ->                              -- hostname : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO CString
+
+
+tldGetBaseDomain ::
+    (MonadIO m) =>
+    T.Text                                  -- hostname
+    -> m T.Text                             -- result
+tldGetBaseDomain hostname = liftIO $ do
+    hostname' <- textToCString hostname
+    onException (do
+        result <- propagateGError $ soup_tld_get_base_domain hostname'
+        checkUnexpectedReturnNULL "soup_tld_get_base_domain" result
+        result' <- cstringToText result
+        freeMem hostname'
+        return result'
+     ) (do
+        freeMem hostname'
+     )
+
+
+-- function soup_tld_domain_is_public_suffix
+-- Args : [Arg {argCName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_tld_domain_is_public_suffix" soup_tld_domain_is_public_suffix :: 
+    CString ->                              -- domain : TBasicType TUTF8
+    IO CInt
+
+
+tldDomainIsPublicSuffix ::
+    (MonadIO m) =>
+    T.Text                                  -- domain
+    -> m Bool                               -- result
+tldDomainIsPublicSuffix domain = liftIO $ do
+    domain' <- textToCString domain
+    result <- soup_tld_domain_is_public_suffix domain'
+    let result' = (/= 0) result
+    freeMem domain'
+    return result'
+
+
+-- function soup_str_case_hash
+-- Args : [Arg {argCName = "key", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_str_case_hash" soup_str_case_hash :: 
+    Ptr () ->                               -- key : TBasicType TVoid
+    IO Word32
+
+
+strCaseHash ::
+    (MonadIO m) =>
+    Ptr ()                                  -- key
+    -> m Word32                             -- result
+strCaseHash key = liftIO $ do
+    result <- soup_str_case_hash key
+    return result
+
+
+-- function soup_str_case_equal
+-- Args : [Arg {argCName = "v1", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v2", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_str_case_equal" soup_str_case_equal :: 
+    Ptr () ->                               -- v1 : TBasicType TVoid
+    Ptr () ->                               -- v2 : TBasicType TVoid
+    IO CInt
+
+
+strCaseEqual ::
+    (MonadIO m) =>
+    Ptr ()                                  -- v1
+    -> Ptr ()                               -- v2
+    -> m Bool                               -- result
+strCaseEqual v1 v2 = liftIO $ do
+    result <- soup_str_case_equal v1 v2
+    let result' = (/= 0) result
+    return result'
+
+
+-- function soup_http_error_quark
+-- Args : []
+-- Lengths : []
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_http_error_quark" soup_http_error_quark :: 
+    IO Word32
+
+
+httpErrorQuark ::
+    (MonadIO m) =>
+    m Word32                                -- result
+httpErrorQuark  = liftIO $ do
+    result <- soup_http_error_quark
+    return result
+
+
+-- function soup_headers_parse_status_line
+-- Args : [Arg {argCName = "status_line", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ver", argType = TInterface "Soup" "HTTPVersion", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "status_code", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "reason_phrase", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_headers_parse_status_line" soup_headers_parse_status_line :: 
+    CString ->                              -- status_line : TBasicType TUTF8
+    Ptr CUInt ->                            -- ver : TInterface "Soup" "HTTPVersion"
+    Ptr Word32 ->                           -- status_code : TBasicType TUInt32
+    Ptr CString ->                          -- reason_phrase : TBasicType TUTF8
+    IO CInt
+
+
+headersParseStatusLine ::
+    (MonadIO m) =>
+    T.Text                                  -- statusLine
+    -> m (Bool,HTTPVersion,Word32,T.Text)   -- result
+headersParseStatusLine statusLine = liftIO $ do
+    statusLine' <- textToCString statusLine
+    ver <- allocMem :: IO (Ptr CUInt)
+    statusCode <- allocMem :: IO (Ptr Word32)
+    reasonPhrase <- allocMem :: IO (Ptr CString)
+    result <- soup_headers_parse_status_line statusLine' ver statusCode reasonPhrase
+    let result' = (/= 0) result
+    ver' <- peek ver
+    let ver'' = (toEnum . fromIntegral) ver'
+    statusCode' <- peek statusCode
+    reasonPhrase' <- peek reasonPhrase
+    reasonPhrase'' <- cstringToText reasonPhrase'
+    freeMem reasonPhrase'
+    freeMem statusLine'
+    freeMem ver
+    freeMem statusCode
+    freeMem reasonPhrase
+    return (result', ver'', statusCode', reasonPhrase'')
+
+
+-- function soup_headers_parse_response
+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, 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},Arg {argCName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ver", argType = TInterface "Soup" "HTTPVersion", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "status_code", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "reason_phrase", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_headers_parse_response" soup_headers_parse_response :: 
+    CString ->                              -- str : TBasicType TUTF8
+    Int32 ->                                -- len : TBasicType TInt32
+    Ptr MessageHeaders ->                   -- headers : TInterface "Soup" "MessageHeaders"
+    Ptr CUInt ->                            -- ver : TInterface "Soup" "HTTPVersion"
+    Ptr Word32 ->                           -- status_code : TBasicType TUInt32
+    Ptr CString ->                          -- reason_phrase : TBasicType TUTF8
+    IO CInt
+
+
+headersParseResponse ::
+    (MonadIO m) =>
+    T.Text                                  -- str
+    -> Int32                                -- len
+    -> MessageHeaders                       -- headers
+    -> m (Bool,HTTPVersion,Word32,T.Text)   -- result
+headersParseResponse str len headers = liftIO $ do
+    str' <- textToCString str
+    let headers' = unsafeManagedPtrGetPtr headers
+    ver <- allocMem :: IO (Ptr CUInt)
+    statusCode <- allocMem :: IO (Ptr Word32)
+    reasonPhrase <- allocMem :: IO (Ptr CString)
+    result <- soup_headers_parse_response str' len headers' ver statusCode reasonPhrase
+    let result' = (/= 0) result
+    ver' <- peek ver
+    let ver'' = (toEnum . fromIntegral) ver'
+    statusCode' <- peek statusCode
+    reasonPhrase' <- peek reasonPhrase
+    reasonPhrase'' <- cstringToText reasonPhrase'
+    freeMem reasonPhrase'
+    touchManagedPtr headers
+    freeMem str'
+    freeMem ver
+    freeMem statusCode
+    freeMem reasonPhrase
+    return (result', ver'', statusCode', reasonPhrase'')
+
+
+-- function soup_headers_parse_request
+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, 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},Arg {argCName = "req_headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "req_method", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "req_path", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "ver", argType = TInterface "Soup" "HTTPVersion", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_headers_parse_request" soup_headers_parse_request :: 
+    CString ->                              -- str : TBasicType TUTF8
+    Int32 ->                                -- len : TBasicType TInt32
+    Ptr MessageHeaders ->                   -- req_headers : TInterface "Soup" "MessageHeaders"
+    Ptr CString ->                          -- req_method : TBasicType TUTF8
+    Ptr CString ->                          -- req_path : TBasicType TUTF8
+    Ptr CUInt ->                            -- ver : TInterface "Soup" "HTTPVersion"
+    IO Word32
+
+
+headersParseRequest ::
+    (MonadIO m) =>
+    T.Text                                  -- str
+    -> Int32                                -- len
+    -> MessageHeaders                       -- reqHeaders
+    -> m (Word32,T.Text,T.Text,HTTPVersion) -- result
+headersParseRequest str len reqHeaders = liftIO $ do
+    str' <- textToCString str
+    let reqHeaders' = unsafeManagedPtrGetPtr reqHeaders
+    reqMethod <- allocMem :: IO (Ptr CString)
+    reqPath <- allocMem :: IO (Ptr CString)
+    ver <- allocMem :: IO (Ptr CUInt)
+    result <- soup_headers_parse_request str' len reqHeaders' reqMethod reqPath ver
+    reqMethod' <- peek reqMethod
+    reqMethod'' <- cstringToText reqMethod'
+    freeMem reqMethod'
+    reqPath' <- peek reqPath
+    reqPath'' <- cstringToText reqPath'
+    freeMem reqPath'
+    ver' <- peek ver
+    let ver'' = (toEnum . fromIntegral) ver'
+    touchManagedPtr reqHeaders
+    freeMem str'
+    freeMem reqMethod
+    freeMem reqPath
+    freeMem ver
+    return (result, reqMethod'', reqPath'', ver'')
+
+
+-- function soup_headers_parse
+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, 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},Arg {argCName = "dest", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_headers_parse" soup_headers_parse :: 
+    CString ->                              -- str : TBasicType TUTF8
+    Int32 ->                                -- len : TBasicType TInt32
+    Ptr MessageHeaders ->                   -- dest : TInterface "Soup" "MessageHeaders"
+    IO CInt
+
+
+headersParse ::
+    (MonadIO m) =>
+    T.Text                                  -- str
+    -> Int32                                -- len
+    -> MessageHeaders                       -- dest
+    -> m Bool                               -- result
+headersParse str len dest = liftIO $ do
+    str' <- textToCString str
+    let dest' = unsafeManagedPtrGetPtr dest
+    result <- soup_headers_parse str' len dest'
+    let result' = (/= 0) result
+    touchManagedPtr dest
+    freeMem str'
+    return result'
+
+
+-- function soup_header_parse_semi_param_list
+-- Args : [Arg {argCName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_header_parse_semi_param_list" soup_header_parse_semi_param_list :: 
+    CString ->                              -- header : TBasicType TUTF8
+    IO (Ptr (GHashTable CString CString))
+
+
+headerParseSemiParamList ::
+    (MonadIO m) =>
+    T.Text                                  -- header
+    -> m (Map.Map T.Text T.Text)            -- result
+headerParseSemiParamList header = liftIO $ do
+    header' <- textToCString header
+    result <- soup_header_parse_semi_param_list header'
+    checkUnexpectedReturnNULL "soup_header_parse_semi_param_list" result
+    result' <- unpackGHashTable result
+    let result'' = mapFirst cstringUnpackPtr result'
+    result''' <- mapFirstA cstringToText result''
+    let result'''' = mapSecond cstringUnpackPtr result'''
+    result''''' <- mapSecondA cstringToText result''''
+    let result'''''' = Map.fromList result'''''
+    unrefGHashTable result
+    freeMem header'
+    return result''''''
+
+
+-- function soup_header_parse_quality_list
+-- Args : [Arg {argCName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unacceptable", argType = TGSList (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : TGSList (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_header_parse_quality_list" soup_header_parse_quality_list :: 
+    CString ->                              -- header : TBasicType TUTF8
+    Ptr (Ptr (GSList CString)) ->           -- unacceptable : TGSList (TBasicType TUTF8)
+    IO (Ptr (GSList CString))
+
+
+headerParseQualityList ::
+    (MonadIO m) =>
+    T.Text                                  -- header
+    -> m ([T.Text],[T.Text])                -- result
+headerParseQualityList header = liftIO $ do
+    header' <- textToCString header
+    unacceptable <- allocMem :: IO (Ptr (Ptr (GSList CString)))
+    result <- soup_header_parse_quality_list header' unacceptable
+    checkUnexpectedReturnNULL "soup_header_parse_quality_list" result
+    result' <- unpackGSList result
+    result'' <- mapM cstringToText result'
+    mapGSList freeMem result
+    g_slist_free result
+    unacceptable' <- peek unacceptable
+    unacceptable'' <- unpackGSList unacceptable'
+    unacceptable''' <- mapM cstringToText unacceptable''
+    mapGSList freeMem unacceptable'
+    g_slist_free unacceptable'
+    freeMem header'
+    freeMem unacceptable
+    return (result'', unacceptable''')
+
+
+-- function soup_header_parse_param_list
+-- Args : [Arg {argCName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_header_parse_param_list" soup_header_parse_param_list :: 
+    CString ->                              -- header : TBasicType TUTF8
+    IO (Ptr (GHashTable CString CString))
+
+
+headerParseParamList ::
+    (MonadIO m) =>
+    T.Text                                  -- header
+    -> m (Map.Map T.Text T.Text)            -- result
+headerParseParamList header = liftIO $ do
+    header' <- textToCString header
+    result <- soup_header_parse_param_list header'
+    checkUnexpectedReturnNULL "soup_header_parse_param_list" result
+    result' <- unpackGHashTable result
+    let result'' = mapFirst cstringUnpackPtr result'
+    result''' <- mapFirstA cstringToText result''
+    let result'''' = mapSecond cstringUnpackPtr result'''
+    result''''' <- mapSecondA cstringToText result''''
+    let result'''''' = Map.fromList result'''''
+    unrefGHashTable result
+    freeMem header'
+    return result''''''
+
+
+-- function soup_header_parse_list
+-- Args : [Arg {argCName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TGSList (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_header_parse_list" soup_header_parse_list :: 
+    CString ->                              -- header : TBasicType TUTF8
+    IO (Ptr (GSList CString))
+
+
+headerParseList ::
+    (MonadIO m) =>
+    T.Text                                  -- header
+    -> m [T.Text]                           -- result
+headerParseList header = liftIO $ do
+    header' <- textToCString header
+    result <- soup_header_parse_list header'
+    checkUnexpectedReturnNULL "soup_header_parse_list" result
+    result' <- unpackGSList result
+    result'' <- mapM cstringToText result'
+    mapGSList freeMem result
+    g_slist_free result
+    freeMem header'
+    return result''
+
+
+-- function soup_header_g_string_append_param_quoted
+-- Args : [Arg {argCName = "string", argType = TInterface "GLib" "String", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_header_g_string_append_param_quoted" soup_header_g_string_append_param_quoted :: 
+    Ptr GLib.String ->                      -- string : TInterface "GLib" "String"
+    CString ->                              -- name : TBasicType TUTF8
+    CString ->                              -- value : TBasicType TUTF8
+    IO ()
+
+
+headerGStringAppendParamQuoted ::
+    (MonadIO m) =>
+    GLib.String                             -- string
+    -> T.Text                               -- name
+    -> T.Text                               -- value
+    -> m ()                                 -- result
+headerGStringAppendParamQuoted string name value = liftIO $ do
+    let string' = unsafeManagedPtrGetPtr string
+    name' <- textToCString name
+    value' <- textToCString value
+    soup_header_g_string_append_param_quoted string' name' value'
+    touchManagedPtr string
+    freeMem name'
+    freeMem value'
+    return ()
+
+
+-- function soup_header_g_string_append_param
+-- Args : [Arg {argCName = "string", argType = TInterface "GLib" "String", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_header_g_string_append_param" soup_header_g_string_append_param :: 
+    Ptr GLib.String ->                      -- string : TInterface "GLib" "String"
+    CString ->                              -- name : TBasicType TUTF8
+    CString ->                              -- value : TBasicType TUTF8
+    IO ()
+
+
+headerGStringAppendParam ::
+    (MonadIO m) =>
+    GLib.String                             -- string
+    -> T.Text                               -- name
+    -> T.Text                               -- value
+    -> m ()                                 -- result
+headerGStringAppendParam string name value = liftIO $ do
+    let string' = unsafeManagedPtrGetPtr string
+    name' <- textToCString name
+    value' <- textToCString value
+    soup_header_g_string_append_param string' name' value'
+    touchManagedPtr string
+    freeMem name'
+    freeMem value'
+    return ()
+
+
+-- function soup_header_free_param_list
+-- Args : [Arg {argCName = "param_list", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_header_free_param_list" soup_header_free_param_list :: 
+    Ptr (GHashTable CString CString) ->     -- param_list : TGHash (TBasicType TUTF8) (TBasicType TUTF8)
+    IO ()
+
+
+headerFreeParamList ::
+    (MonadIO m) =>
+    Map.Map T.Text T.Text                   -- paramList
+    -> m ()                                 -- result
+headerFreeParamList paramList = liftIO $ do
+    let paramList' = Map.toList paramList
+    paramList'' <- mapFirstA textToCString paramList'
+    paramList''' <- mapSecondA textToCString paramList''
+    let paramList'''' = mapFirst cstringPackPtr paramList'''
+    let paramList''''' = mapSecond cstringPackPtr paramList''''
+    paramList'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) paramList'''''
+    soup_header_free_param_list paramList''''''
+    unrefGHashTable paramList''''''
+    return ()
+
+
+-- function soup_header_contains
+-- Args : [Arg {argCName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "token", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_header_contains" soup_header_contains :: 
+    CString ->                              -- header : TBasicType TUTF8
+    CString ->                              -- token : TBasicType TUTF8
+    IO CInt
+
+
+headerContains ::
+    (MonadIO m) =>
+    T.Text                                  -- header
+    -> T.Text                               -- token
+    -> m Bool                               -- result
+headerContains header token = liftIO $ do
+    header' <- textToCString header
+    token' <- textToCString token
+    result <- soup_header_contains header' token'
+    let result' = (/= 0) result
+    freeMem header'
+    freeMem token'
+    return result'
+
+
+-- function soup_form_request_new_from_multipart
+-- Args : [Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "multipart", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "Soup" "Message"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_form_request_new_from_multipart" soup_form_request_new_from_multipart :: 
+    CString ->                              -- uri : TBasicType TUTF8
+    Ptr Multipart ->                        -- multipart : TInterface "Soup" "Multipart"
+    IO (Ptr Message)
+
+
+formRequestNewFromMultipart ::
+    (MonadIO m) =>
+    T.Text                                  -- uri
+    -> Multipart                            -- multipart
+    -> m Message                            -- result
+formRequestNewFromMultipart uri multipart = liftIO $ do
+    uri' <- textToCString uri
+    let multipart' = unsafeManagedPtrGetPtr multipart
+    result <- soup_form_request_new_from_multipart uri' multipart'
+    checkUnexpectedReturnNULL "soup_form_request_new_from_multipart" result
+    result' <- (wrapObject Message) result
+    touchManagedPtr multipart
+    freeMem uri'
+    return result'
+
+
+-- function soup_form_request_new_from_hash
+-- Args : [Arg {argCName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "form_data_set", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "Soup" "Message"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_form_request_new_from_hash" soup_form_request_new_from_hash :: 
+    CString ->                              -- method : TBasicType TUTF8
+    CString ->                              -- uri : TBasicType TUTF8
+    Ptr (GHashTable CString CString) ->     -- form_data_set : TGHash (TBasicType TUTF8) (TBasicType TUTF8)
+    IO (Ptr Message)
+
+
+formRequestNewFromHash ::
+    (MonadIO m) =>
+    T.Text                                  -- method
+    -> T.Text                               -- uri
+    -> Map.Map T.Text T.Text                -- formDataSet
+    -> m Message                            -- result
+formRequestNewFromHash method uri formDataSet = liftIO $ do
+    method' <- textToCString method
+    uri' <- textToCString uri
+    let formDataSet' = Map.toList formDataSet
+    formDataSet'' <- mapFirstA textToCString formDataSet'
+    formDataSet''' <- mapSecondA textToCString formDataSet''
+    let formDataSet'''' = mapFirst cstringPackPtr formDataSet'''
+    let formDataSet''''' = mapSecond cstringPackPtr formDataSet''''
+    formDataSet'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) formDataSet'''''
+    result <- soup_form_request_new_from_hash method' uri' formDataSet''''''
+    checkUnexpectedReturnNULL "soup_form_request_new_from_hash" result
+    result' <- (wrapObject Message) result
+    freeMem method'
+    freeMem uri'
+    unrefGHashTable formDataSet''''''
+    return result'
+
+
+-- function soup_form_request_new_from_datalist
+-- Args : [Arg {argCName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "form_data_set", argType = TInterface "GLib" "Data", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "Soup" "Message"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_form_request_new_from_datalist" soup_form_request_new_from_datalist :: 
+    CString ->                              -- method : TBasicType TUTF8
+    CString ->                              -- uri : TBasicType TUTF8
+    Ptr GLib.Data ->                        -- form_data_set : TInterface "GLib" "Data"
+    IO (Ptr Message)
+
+
+formRequestNewFromDatalist ::
+    (MonadIO m) =>
+    T.Text                                  -- method
+    -> T.Text                               -- uri
+    -> GLib.Data                            -- formDataSet
+    -> m Message                            -- result
+formRequestNewFromDatalist method uri formDataSet = liftIO $ do
+    method' <- textToCString method
+    uri' <- textToCString uri
+    let formDataSet' = unsafeManagedPtrGetPtr formDataSet
+    result <- soup_form_request_new_from_datalist method' uri' formDataSet'
+    checkUnexpectedReturnNULL "soup_form_request_new_from_datalist" result
+    result' <- (wrapObject Message) result
+    touchManagedPtr formDataSet
+    freeMem method'
+    freeMem uri'
+    return result'
+
+
+-- function soup_form_encode_hash
+-- Args : [Arg {argCName = "form_data_set", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_form_encode_hash" soup_form_encode_hash :: 
+    Ptr (GHashTable CString CString) ->     -- form_data_set : TGHash (TBasicType TUTF8) (TBasicType TUTF8)
+    IO CString
+
+
+formEncodeHash ::
+    (MonadIO m) =>
+    Map.Map T.Text T.Text                   -- formDataSet
+    -> m T.Text                             -- result
+formEncodeHash formDataSet = liftIO $ do
+    let formDataSet' = Map.toList formDataSet
+    formDataSet'' <- mapFirstA textToCString formDataSet'
+    formDataSet''' <- mapSecondA textToCString formDataSet''
+    let formDataSet'''' = mapFirst cstringPackPtr formDataSet'''
+    let formDataSet''''' = mapSecond cstringPackPtr formDataSet''''
+    formDataSet'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) formDataSet'''''
+    result <- soup_form_encode_hash formDataSet''''''
+    checkUnexpectedReturnNULL "soup_form_encode_hash" result
+    result' <- cstringToText result
+    freeMem result
+    unrefGHashTable formDataSet''''''
+    return result'
+
+
+-- function soup_form_encode_datalist
+-- Args : [Arg {argCName = "form_data_set", argType = TInterface "GLib" "Data", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_form_encode_datalist" soup_form_encode_datalist :: 
+    Ptr GLib.Data ->                        -- form_data_set : TInterface "GLib" "Data"
+    IO CString
+
+
+formEncodeDatalist ::
+    (MonadIO m) =>
+    GLib.Data                               -- formDataSet
+    -> m T.Text                             -- result
+formEncodeDatalist formDataSet = liftIO $ do
+    let formDataSet' = unsafeManagedPtrGetPtr formDataSet
+    result <- soup_form_encode_datalist formDataSet'
+    checkUnexpectedReturnNULL "soup_form_encode_datalist" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr formDataSet
+    return result'
+
+
+-- function soup_form_decode_multipart
+-- Args : [Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file_control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "content_type", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "file", argType = TInterface "Soup" "Buffer", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_form_decode_multipart" soup_form_decode_multipart :: 
+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
+    CString ->                              -- file_control_name : TBasicType TUTF8
+    Ptr CString ->                          -- filename : TBasicType TUTF8
+    Ptr CString ->                          -- content_type : TBasicType TUTF8
+    Ptr Buffer ->                           -- file : TInterface "Soup" "Buffer"
+    IO (Ptr (GHashTable CString CString))
+
+
+formDecodeMultipart ::
+    (MonadIO m, MessageK a) =>
+    a                                       -- msg
+    -> Maybe (T.Text)                       -- fileControlName
+    -> m ((Map.Map T.Text T.Text),T.Text,T.Text,Buffer)-- result
+formDecodeMultipart msg fileControlName = liftIO $ do
+    let msg' = unsafeManagedPtrCastPtr msg
+    maybeFileControlName <- case fileControlName of
+        Nothing -> return nullPtr
+        Just jFileControlName -> do
+            jFileControlName' <- textToCString jFileControlName
+            return jFileControlName'
+    filename <- allocMem :: IO (Ptr CString)
+    contentType <- allocMem :: IO (Ptr CString)
+    file <- callocBoxedBytes 16 :: IO (Ptr Buffer)
+    result <- soup_form_decode_multipart msg' maybeFileControlName filename contentType file
+    checkUnexpectedReturnNULL "soup_form_decode_multipart" result
+    result' <- unpackGHashTable result
+    let result'' = mapFirst cstringUnpackPtr result'
+    result''' <- mapFirstA cstringToText result''
+    let result'''' = mapSecond cstringUnpackPtr result'''
+    result''''' <- mapSecondA cstringToText result''''
+    let result'''''' = Map.fromList result'''''
+    unrefGHashTable result
+    filename' <- peek filename
+    filename'' <- cstringToText filename'
+    freeMem filename'
+    contentType' <- peek contentType
+    contentType'' <- cstringToText contentType'
+    freeMem contentType'
+    file' <- (wrapBoxed Buffer) file
+    touchManagedPtr msg
+    freeMem maybeFileControlName
+    freeMem filename
+    freeMem contentType
+    return (result'''''', filename'', contentType'', file')
+
+
+-- function soup_form_decode
+-- Args : [Arg {argCName = "encoded_form", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_form_decode" soup_form_decode :: 
+    CString ->                              -- encoded_form : TBasicType TUTF8
+    IO (Ptr (GHashTable CString CString))
+
+
+formDecode ::
+    (MonadIO m) =>
+    T.Text                                  -- encodedForm
+    -> m (Map.Map T.Text T.Text)            -- result
+formDecode encodedForm = liftIO $ do
+    encodedForm' <- textToCString encodedForm
+    result <- soup_form_decode encodedForm'
+    checkUnexpectedReturnNULL "soup_form_decode" result
+    result' <- unpackGHashTable result
+    let result'' = mapFirst cstringUnpackPtr result'
+    result''' <- mapFirstA cstringToText result''
+    let result'''' = mapSecond cstringUnpackPtr result'''
+    result''''' <- mapSecondA cstringToText result''''
+    let result'''''' = Map.fromList result'''''
+    unrefGHashTable result
+    freeMem encodedForm'
+    return result''''''
+
+
+-- function soup_cookies_to_response
+-- Args : [Arg {argCName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_cookies_to_response" soup_cookies_to_response :: 
+    Ptr (GSList (Ptr Cookie)) ->            -- cookies : TGSList (TInterface "Soup" "Cookie")
+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
+    IO ()
+
+
+cookiesToResponse ::
+    (MonadIO m, MessageK a) =>
+    [Cookie]                                -- cookies
+    -> a                                    -- msg
+    -> m ()                                 -- result
+cookiesToResponse cookies msg = liftIO $ do
+    let cookies' = map unsafeManagedPtrGetPtr cookies
+    cookies'' <- packGSList cookies'
+    let msg' = unsafeManagedPtrCastPtr msg
+    soup_cookies_to_response cookies'' msg'
+    mapM_ touchManagedPtr cookies
+    touchManagedPtr msg
+    g_slist_free cookies''
+    return ()
+
+
+-- function soup_cookies_to_request
+-- Args : [Arg {argCName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_cookies_to_request" soup_cookies_to_request :: 
+    Ptr (GSList (Ptr Cookie)) ->            -- cookies : TGSList (TInterface "Soup" "Cookie")
+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
+    IO ()
+
+
+cookiesToRequest ::
+    (MonadIO m, MessageK a) =>
+    [Cookie]                                -- cookies
+    -> a                                    -- msg
+    -> m ()                                 -- result
+cookiesToRequest cookies msg = liftIO $ do
+    let cookies' = map unsafeManagedPtrGetPtr cookies
+    cookies'' <- packGSList cookies'
+    let msg' = unsafeManagedPtrCastPtr msg
+    soup_cookies_to_request cookies'' msg'
+    mapM_ touchManagedPtr cookies
+    touchManagedPtr msg
+    g_slist_free cookies''
+    return ()
+
+
+-- function soup_cookies_to_cookie_header
+-- Args : [Arg {argCName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_cookies_to_cookie_header" soup_cookies_to_cookie_header :: 
+    Ptr (GSList (Ptr Cookie)) ->            -- cookies : TGSList (TInterface "Soup" "Cookie")
+    IO CString
+
+
+cookiesToCookieHeader ::
+    (MonadIO m) =>
+    [Cookie]                                -- cookies
+    -> m T.Text                             -- result
+cookiesToCookieHeader cookies = liftIO $ do
+    let cookies' = map unsafeManagedPtrGetPtr cookies
+    cookies'' <- packGSList cookies'
+    result <- soup_cookies_to_cookie_header cookies''
+    checkUnexpectedReturnNULL "soup_cookies_to_cookie_header" result
+    result' <- cstringToText result
+    freeMem result
+    mapM_ touchManagedPtr cookies
+    g_slist_free cookies''
+    return result'
+
+
+-- function soup_cookies_from_response
+-- Args : [Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TGSList (TInterface "Soup" "Cookie")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_cookies_from_response" soup_cookies_from_response :: 
+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
+    IO (Ptr (GSList (Ptr Cookie)))
+
+
+cookiesFromResponse ::
+    (MonadIO m, MessageK a) =>
+    a                                       -- msg
+    -> m [Cookie]                           -- result
+cookiesFromResponse msg = liftIO $ do
+    let msg' = unsafeManagedPtrCastPtr msg
+    result <- soup_cookies_from_response msg'
+    checkUnexpectedReturnNULL "soup_cookies_from_response" result
+    result' <- unpackGSList result
+    result'' <- mapM (wrapBoxed Cookie) result'
+    g_slist_free result
+    touchManagedPtr msg
+    return result''
+
+
+-- function soup_cookies_from_request
+-- Args : [Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TGSList (TInterface "Soup" "Cookie")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_cookies_from_request" soup_cookies_from_request :: 
+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"
+    IO (Ptr (GSList (Ptr Cookie)))
+
+
+cookiesFromRequest ::
+    (MonadIO m, MessageK a) =>
+    a                                       -- msg
+    -> m [Cookie]                           -- result
+cookiesFromRequest msg = liftIO $ do
+    let msg' = unsafeManagedPtrCastPtr msg
+    result <- soup_cookies_from_request msg'
+    checkUnexpectedReturnNULL "soup_cookies_from_request" result
+    result' <- unpackGSList result
+    result'' <- mapM (wrapBoxed Cookie) result'
+    g_slist_free result
+    touchManagedPtr msg
+    return result''
 
 
 
diff --git a/GI/Soup/Interfaces.hs b/GI/Soup/Interfaces.hs
--- a/GI/Soup/Interfaces.hs
+++ b/GI/Soup/Interfaces.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/Soup/Interfaces/PasswordManager.hs b/GI/Soup/Interfaces/PasswordManager.hs
--- a/GI/Soup/Interfaces/PasswordManager.hs
+++ b/GI/Soup/Interfaces/PasswordManager.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
 -- ** passwordManagerGetPasswordsAsync
+    PasswordManagerGetPasswordsAsyncMethodInfo,
     passwordManagerGetPasswordsAsync        ,
 
 
 -- ** passwordManagerGetPasswordsSync
+    PasswordManagerGetPasswordsSyncMethodInfo,
     passwordManagerGetPasswordsSync         ,
 
 
@@ -47,11 +50,51 @@
 noPasswordManager :: Maybe PasswordManager
 noPasswordManager = Nothing
 
+type family ResolvePasswordManagerMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePasswordManagerMethod "addFeature" o = SessionFeatureAddFeatureMethodInfo
+    ResolvePasswordManagerMethod "attach" o = SessionFeatureAttachMethodInfo
+    ResolvePasswordManagerMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolvePasswordManagerMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolvePasswordManagerMethod "detach" o = SessionFeatureDetachMethodInfo
+    ResolvePasswordManagerMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolvePasswordManagerMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolvePasswordManagerMethod "hasFeature" o = SessionFeatureHasFeatureMethodInfo
+    ResolvePasswordManagerMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolvePasswordManagerMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolvePasswordManagerMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolvePasswordManagerMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolvePasswordManagerMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolvePasswordManagerMethod "removeFeature" o = SessionFeatureRemoveFeatureMethodInfo
+    ResolvePasswordManagerMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolvePasswordManagerMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolvePasswordManagerMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolvePasswordManagerMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolvePasswordManagerMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolvePasswordManagerMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolvePasswordManagerMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolvePasswordManagerMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolvePasswordManagerMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolvePasswordManagerMethod "getPasswordsAsync" o = PasswordManagerGetPasswordsAsyncMethodInfo
+    ResolvePasswordManagerMethod "getPasswordsSync" o = PasswordManagerGetPasswordsSyncMethodInfo
+    ResolvePasswordManagerMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolvePasswordManagerMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolvePasswordManagerMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolvePasswordManagerMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolvePasswordManagerMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolvePasswordManagerMethod t PasswordManager, MethodInfo info PasswordManager p) => IsLabelProxy t (PasswordManager -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolvePasswordManagerMethod t PasswordManager, MethodInfo info PasswordManager p) => IsLabel t (PasswordManager -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList PasswordManager = PasswordManagerAttributeList
 type PasswordManagerAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList PasswordManager = PasswordManagerSignalList
-type PasswordManagerSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type PasswordManagerSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 foreign import ccall "soup_password_manager_get_type"
     c_soup_password_manager_get_type :: IO GType
@@ -72,9 +115,8 @@
 
 -- method PasswordManager::get_passwords_async
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "PasswordManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "retrying", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "async_context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "PasswordManagerCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 7, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "PasswordManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "auth", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "retrying", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "async_context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Soup" "PasswordManagerCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 7, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_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 "Soup" "PasswordManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "retrying", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "async_context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "PasswordManagerCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 7, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -93,20 +135,20 @@
 
 passwordManagerGetPasswordsAsync ::
     (MonadIO m, PasswordManagerK a, MessageK b, AuthK c, Gio.CancellableK d) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    c ->                                    -- auth
-    Bool ->                                 -- retrying
-    GLib.MainContext ->                     -- async_context
-    Maybe (d) ->                            -- cancellable
-    PasswordManagerCallback ->              -- callback
-    m ()
-passwordManagerGetPasswordsAsync _obj msg auth retrying async_context cancellable callback = liftIO $ do
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> c                                    -- auth
+    -> Bool                                 -- retrying
+    -> GLib.MainContext                     -- asyncContext
+    -> Maybe (d)                            -- cancellable
+    -> PasswordManagerCallback              -- callback
+    -> m ()                                 -- result
+passwordManagerGetPasswordsAsync _obj msg auth retrying asyncContext cancellable callback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
     let auth' = unsafeManagedPtrCastPtr auth
     let retrying' = (fromIntegral . fromEnum) retrying
-    let async_context' = unsafeManagedPtrGetPtr async_context
+    let asyncContext' = unsafeManagedPtrGetPtr asyncContext
     maybeCancellable <- case cancellable of
         Nothing -> return nullPtr
         Just jCancellable -> do
@@ -115,20 +157,23 @@
     ptrcallback <- callocMem :: IO (Ptr (FunPtr PasswordManagerCallbackC))
     callback' <- mkPasswordManagerCallback (passwordManagerCallbackWrapper (Just ptrcallback) callback)
     poke ptrcallback callback'
-    let user_data = nullPtr
-    soup_password_manager_get_passwords_async _obj' msg' auth' retrying' async_context' maybeCancellable callback' user_data
+    let userData = nullPtr
+    soup_password_manager_get_passwords_async _obj' msg' auth' retrying' asyncContext' maybeCancellable callback' userData
     touchManagedPtr _obj
     touchManagedPtr msg
     touchManagedPtr auth
-    touchManagedPtr async_context
+    touchManagedPtr asyncContext
     whenJust cancellable touchManagedPtr
     return ()
 
+data PasswordManagerGetPasswordsAsyncMethodInfo
+instance (signature ~ (b -> c -> Bool -> GLib.MainContext -> Maybe (d) -> PasswordManagerCallback -> m ()), MonadIO m, PasswordManagerK a, MessageK b, AuthK c, Gio.CancellableK d) => MethodInfo PasswordManagerGetPasswordsAsyncMethodInfo a signature where
+    overloadedMethod _ = passwordManagerGetPasswordsAsync
+
 -- method PasswordManager::get_passwords_sync
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "PasswordManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "PasswordManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "auth", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "PasswordManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -143,11 +188,11 @@
 
 passwordManagerGetPasswordsSync ::
     (MonadIO m, PasswordManagerK a, MessageK b, AuthK c, Gio.CancellableK d) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    c ->                                    -- auth
-    Maybe (d) ->                            -- cancellable
-    m ()
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> c                                    -- auth
+    -> Maybe (d)                            -- cancellable
+    -> m ()                                 -- result
 passwordManagerGetPasswordsSync _obj msg auth cancellable = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -163,5 +208,9 @@
     touchManagedPtr auth
     whenJust cancellable touchManagedPtr
     return ()
+
+data PasswordManagerGetPasswordsSyncMethodInfo
+instance (signature ~ (b -> c -> Maybe (d) -> m ()), MonadIO m, PasswordManagerK a, MessageK b, AuthK c, Gio.CancellableK d) => MethodInfo PasswordManagerGetPasswordsSyncMethodInfo a signature where
+    overloadedMethod _ = passwordManagerGetPasswordsSync
 
 
diff --git a/GI/Soup/Interfaces/PasswordManager.hs-boot b/GI/Soup/Interfaces/PasswordManager.hs-boot
--- a/GI/Soup/Interfaces/PasswordManager.hs-boot
+++ b/GI/Soup/Interfaces/PasswordManager.hs-boot
@@ -11,3 +11,5 @@
 instance GObject PasswordManager where
 class GObject o => PasswordManagerK o
 instance (GObject o, IsDescendantOf PasswordManager o) => PasswordManagerK o
+data PasswordManagerGetPasswordsAsyncMethodInfo
+data PasswordManagerGetPasswordsSyncMethodInfo
diff --git a/GI/Soup/Interfaces/ProxyURIResolver.hs b/GI/Soup/Interfaces/ProxyURIResolver.hs
--- a/GI/Soup/Interfaces/ProxyURIResolver.hs
+++ b/GI/Soup/Interfaces/ProxyURIResolver.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
 -- ** proxyURIResolverGetProxyUriAsync
+    ProxyURIResolverGetProxyUriAsyncMethodInfo,
     proxyURIResolverGetProxyUriAsync        ,
 
 
 -- ** proxyURIResolverGetProxyUriSync
+    ProxyURIResolverGetProxyUriSyncMethodInfo,
     proxyURIResolverGetProxyUriSync         ,
 
 
@@ -47,11 +50,51 @@
 noProxyURIResolver :: Maybe ProxyURIResolver
 noProxyURIResolver = Nothing
 
+type family ResolveProxyURIResolverMethod (t :: Symbol) (o :: *) :: * where
+    ResolveProxyURIResolverMethod "addFeature" o = SessionFeatureAddFeatureMethodInfo
+    ResolveProxyURIResolverMethod "attach" o = SessionFeatureAttachMethodInfo
+    ResolveProxyURIResolverMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveProxyURIResolverMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveProxyURIResolverMethod "detach" o = SessionFeatureDetachMethodInfo
+    ResolveProxyURIResolverMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveProxyURIResolverMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveProxyURIResolverMethod "hasFeature" o = SessionFeatureHasFeatureMethodInfo
+    ResolveProxyURIResolverMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveProxyURIResolverMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveProxyURIResolverMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveProxyURIResolverMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveProxyURIResolverMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveProxyURIResolverMethod "removeFeature" o = SessionFeatureRemoveFeatureMethodInfo
+    ResolveProxyURIResolverMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveProxyURIResolverMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveProxyURIResolverMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveProxyURIResolverMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveProxyURIResolverMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveProxyURIResolverMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveProxyURIResolverMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveProxyURIResolverMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveProxyURIResolverMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveProxyURIResolverMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveProxyURIResolverMethod "getProxyUriAsync" o = ProxyURIResolverGetProxyUriAsyncMethodInfo
+    ResolveProxyURIResolverMethod "getProxyUriSync" o = ProxyURIResolverGetProxyUriSyncMethodInfo
+    ResolveProxyURIResolverMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveProxyURIResolverMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveProxyURIResolverMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveProxyURIResolverMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveProxyURIResolverMethod t ProxyURIResolver, MethodInfo info ProxyURIResolver p) => IsLabelProxy t (ProxyURIResolver -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveProxyURIResolverMethod t ProxyURIResolver, MethodInfo info ProxyURIResolver p) => IsLabel t (ProxyURIResolver -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList ProxyURIResolver = ProxyURIResolverAttributeList
 type ProxyURIResolverAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList ProxyURIResolver = ProxyURIResolverSignalList
-type ProxyURIResolverSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type ProxyURIResolverSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 foreign import ccall "soup_proxy_uri_resolver_get_type"
     c_soup_proxy_uri_resolver_get_type :: IO GType
@@ -72,9 +115,8 @@
 
 -- method ProxyURIResolver::get_proxy_uri_async
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ProxyURIResolver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "async_context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ProxyURIResolverCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 5, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "ProxyURIResolver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "async_context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Soup" "ProxyURIResolverCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 5, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_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 "Soup" "ProxyURIResolver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "async_context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ProxyURIResolverCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 5, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -91,20 +133,20 @@
 {-# DEPRECATED proxyURIResolverGetProxyUriAsync ["#SoupProxyURIResolver is deprecated in favor of","#GProxyResolver"]#-}
 proxyURIResolverGetProxyUriAsync ::
     (MonadIO m, ProxyURIResolverK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    URI ->                                  -- uri
-    Maybe (GLib.MainContext) ->             -- async_context
-    Maybe (b) ->                            -- cancellable
-    ProxyURIResolverCallback ->             -- callback
-    m ()
-proxyURIResolverGetProxyUriAsync _obj uri async_context cancellable callback = liftIO $ do
+    a                                       -- _obj
+    -> URI                                  -- uri
+    -> Maybe (GLib.MainContext)             -- asyncContext
+    -> Maybe (b)                            -- cancellable
+    -> ProxyURIResolverCallback             -- callback
+    -> m ()                                 -- result
+proxyURIResolverGetProxyUriAsync _obj uri asyncContext cancellable callback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let uri' = unsafeManagedPtrGetPtr uri
-    maybeAsync_context <- case async_context of
+    maybeAsyncContext <- case asyncContext of
         Nothing -> return nullPtr
-        Just jAsync_context -> do
-            let jAsync_context' = unsafeManagedPtrGetPtr jAsync_context
-            return jAsync_context'
+        Just jAsyncContext -> do
+            let jAsyncContext' = unsafeManagedPtrGetPtr jAsyncContext
+            return jAsyncContext'
     maybeCancellable <- case cancellable of
         Nothing -> return nullPtr
         Just jCancellable -> do
@@ -113,19 +155,22 @@
     ptrcallback <- callocMem :: IO (Ptr (FunPtr ProxyURIResolverCallbackC))
     callback' <- mkProxyURIResolverCallback (proxyURIResolverCallbackWrapper (Just ptrcallback) callback)
     poke ptrcallback callback'
-    let user_data = nullPtr
-    soup_proxy_uri_resolver_get_proxy_uri_async _obj' uri' maybeAsync_context maybeCancellable callback' user_data
+    let userData = nullPtr
+    soup_proxy_uri_resolver_get_proxy_uri_async _obj' uri' maybeAsyncContext maybeCancellable callback' userData
     touchManagedPtr _obj
     touchManagedPtr uri
-    whenJust async_context touchManagedPtr
+    whenJust asyncContext touchManagedPtr
     whenJust cancellable touchManagedPtr
     return ()
 
+data ProxyURIResolverGetProxyUriAsyncMethodInfo
+instance (signature ~ (URI -> Maybe (GLib.MainContext) -> Maybe (b) -> ProxyURIResolverCallback -> m ()), MonadIO m, ProxyURIResolverK a, Gio.CancellableK b) => MethodInfo ProxyURIResolverGetProxyUriAsyncMethodInfo a signature where
+    overloadedMethod _ = proxyURIResolverGetProxyUriAsync
+
 -- method ProxyURIResolver::get_proxy_uri_sync
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ProxyURIResolver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "proxy_uri", argType = TInterface "Soup" "URI", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "ProxyURIResolver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "proxy_uri", argType = TInterface "Soup" "URI", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ProxyURIResolver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -140,10 +185,10 @@
 {-# DEPRECATED proxyURIResolverGetProxyUriSync ["#SoupProxyURIResolver is deprecated in favor of","#GProxyResolver"]#-}
 proxyURIResolverGetProxyUriSync ::
     (MonadIO m, ProxyURIResolverK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    URI ->                                  -- uri
-    Maybe (b) ->                            -- cancellable
-    m (Word32,URI)
+    a                                       -- _obj
+    -> URI                                  -- uri
+    -> Maybe (b)                            -- cancellable
+    -> m (Word32,URI)                       -- result
 proxyURIResolverGetProxyUriSync _obj uri cancellable = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let uri' = unsafeManagedPtrGetPtr uri
@@ -152,12 +197,16 @@
         Just jCancellable -> do
             let jCancellable' = unsafeManagedPtrCastPtr jCancellable
             return jCancellable'
-    proxy_uri <- callocBoxedBytes 64 :: IO (Ptr URI)
-    result <- soup_proxy_uri_resolver_get_proxy_uri_sync _obj' uri' maybeCancellable proxy_uri
-    proxy_uri' <- (wrapBoxed URI) proxy_uri
+    proxyUri <- callocBoxedBytes 64 :: IO (Ptr URI)
+    result <- soup_proxy_uri_resolver_get_proxy_uri_sync _obj' uri' maybeCancellable proxyUri
+    proxyUri' <- (wrapBoxed URI) proxyUri
     touchManagedPtr _obj
     touchManagedPtr uri
     whenJust cancellable touchManagedPtr
-    return (result, proxy_uri')
+    return (result, proxyUri')
+
+data ProxyURIResolverGetProxyUriSyncMethodInfo
+instance (signature ~ (URI -> Maybe (b) -> m (Word32,URI)), MonadIO m, ProxyURIResolverK a, Gio.CancellableK b) => MethodInfo ProxyURIResolverGetProxyUriSyncMethodInfo a signature where
+    overloadedMethod _ = proxyURIResolverGetProxyUriSync
 
 
diff --git a/GI/Soup/Interfaces/ProxyURIResolver.hs-boot b/GI/Soup/Interfaces/ProxyURIResolver.hs-boot
--- a/GI/Soup/Interfaces/ProxyURIResolver.hs-boot
+++ b/GI/Soup/Interfaces/ProxyURIResolver.hs-boot
@@ -11,3 +11,5 @@
 instance GObject ProxyURIResolver where
 class GObject o => ProxyURIResolverK o
 instance (GObject o, IsDescendantOf ProxyURIResolver o) => ProxyURIResolverK o
+data ProxyURIResolverGetProxyUriAsyncMethodInfo
+data ProxyURIResolverGetProxyUriSyncMethodInfo
diff --git a/GI/Soup/Interfaces/SessionFeature.hs b/GI/Soup/Interfaces/SessionFeature.hs
--- a/GI/Soup/Interfaces/SessionFeature.hs
+++ b/GI/Soup/Interfaces/SessionFeature.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,22 +18,27 @@
 
  -- * Methods
 -- ** sessionFeatureAddFeature
+    SessionFeatureAddFeatureMethodInfo      ,
     sessionFeatureAddFeature                ,
 
 
 -- ** sessionFeatureAttach
+    SessionFeatureAttachMethodInfo          ,
     sessionFeatureAttach                    ,
 
 
 -- ** sessionFeatureDetach
+    SessionFeatureDetachMethodInfo          ,
     sessionFeatureDetach                    ,
 
 
 -- ** sessionFeatureHasFeature
+    SessionFeatureHasFeatureMethodInfo      ,
     sessionFeatureHasFeature                ,
 
 
 -- ** sessionFeatureRemoveFeature
+    SessionFeatureRemoveFeatureMethodInfo   ,
     sessionFeatureRemoveFeature             ,
 
 
@@ -57,11 +63,49 @@
 noSessionFeature :: Maybe SessionFeature
 noSessionFeature = Nothing
 
+type family ResolveSessionFeatureMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSessionFeatureMethod "addFeature" o = SessionFeatureAddFeatureMethodInfo
+    ResolveSessionFeatureMethod "attach" o = SessionFeatureAttachMethodInfo
+    ResolveSessionFeatureMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveSessionFeatureMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveSessionFeatureMethod "detach" o = SessionFeatureDetachMethodInfo
+    ResolveSessionFeatureMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveSessionFeatureMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveSessionFeatureMethod "hasFeature" o = SessionFeatureHasFeatureMethodInfo
+    ResolveSessionFeatureMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveSessionFeatureMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveSessionFeatureMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveSessionFeatureMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveSessionFeatureMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveSessionFeatureMethod "removeFeature" o = SessionFeatureRemoveFeatureMethodInfo
+    ResolveSessionFeatureMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveSessionFeatureMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveSessionFeatureMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveSessionFeatureMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveSessionFeatureMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveSessionFeatureMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveSessionFeatureMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveSessionFeatureMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveSessionFeatureMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveSessionFeatureMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveSessionFeatureMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveSessionFeatureMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveSessionFeatureMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveSessionFeatureMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveSessionFeatureMethod t SessionFeature, MethodInfo info SessionFeature p) => IsLabelProxy t (SessionFeature -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveSessionFeatureMethod t SessionFeature, MethodInfo info SessionFeature p) => IsLabel t (SessionFeature -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList SessionFeature = SessionFeatureAttributeList
 type SessionFeatureAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList SessionFeature = SessionFeatureSignalList
-type SessionFeatureSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type SessionFeatureSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 foreign import ccall "soup_session_feature_get_type"
     c_soup_session_feature_get_type :: IO GType
@@ -82,9 +126,8 @@
 
 -- method SessionFeature::add_feature
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -97,9 +140,9 @@
 
 sessionFeatureAddFeature ::
     (MonadIO m, SessionFeatureK a) =>
-    a ->                                    -- _obj
-    GType ->                                -- type
-    m Bool
+    a                                       -- _obj
+    -> GType                                -- type_
+    -> m Bool                               -- result
 sessionFeatureAddFeature _obj type_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let type_' = gtypeToCGType type_
@@ -108,11 +151,14 @@
     touchManagedPtr _obj
     return result'
 
+data SessionFeatureAddFeatureMethodInfo
+instance (signature ~ (GType -> m Bool), MonadIO m, SessionFeatureK a) => MethodInfo SessionFeatureAddFeatureMethodInfo a signature where
+    overloadedMethod _ = sessionFeatureAddFeature
+
 -- method SessionFeature::attach
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -125,9 +171,9 @@
 
 sessionFeatureAttach ::
     (MonadIO m, SessionFeatureK a, SessionK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- session
-    m ()
+    a                                       -- _obj
+    -> b                                    -- session
+    -> m ()                                 -- result
 sessionFeatureAttach _obj session = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let session' = unsafeManagedPtrCastPtr session
@@ -136,11 +182,14 @@
     touchManagedPtr session
     return ()
 
+data SessionFeatureAttachMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, SessionFeatureK a, SessionK b) => MethodInfo SessionFeatureAttachMethodInfo a signature where
+    overloadedMethod _ = sessionFeatureAttach
+
 -- method SessionFeature::detach
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -153,9 +202,9 @@
 
 sessionFeatureDetach ::
     (MonadIO m, SessionFeatureK a, SessionK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- session
-    m ()
+    a                                       -- _obj
+    -> b                                    -- session
+    -> m ()                                 -- result
 sessionFeatureDetach _obj session = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let session' = unsafeManagedPtrCastPtr session
@@ -164,11 +213,14 @@
     touchManagedPtr session
     return ()
 
+data SessionFeatureDetachMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, SessionFeatureK a, SessionK b) => MethodInfo SessionFeatureDetachMethodInfo a signature where
+    overloadedMethod _ = sessionFeatureDetach
+
 -- method SessionFeature::has_feature
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -181,9 +233,9 @@
 
 sessionFeatureHasFeature ::
     (MonadIO m, SessionFeatureK a) =>
-    a ->                                    -- _obj
-    GType ->                                -- type
-    m Bool
+    a                                       -- _obj
+    -> GType                                -- type_
+    -> m Bool                               -- result
 sessionFeatureHasFeature _obj type_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let type_' = gtypeToCGType type_
@@ -192,11 +244,14 @@
     touchManagedPtr _obj
     return result'
 
+data SessionFeatureHasFeatureMethodInfo
+instance (signature ~ (GType -> m Bool), MonadIO m, SessionFeatureK a) => MethodInfo SessionFeatureHasFeatureMethodInfo a signature where
+    overloadedMethod _ = sessionFeatureHasFeature
+
 -- method SessionFeature::remove_feature
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -209,9 +264,9 @@
 
 sessionFeatureRemoveFeature ::
     (MonadIO m, SessionFeatureK a) =>
-    a ->                                    -- _obj
-    GType ->                                -- type
-    m Bool
+    a                                       -- _obj
+    -> GType                                -- type_
+    -> m Bool                               -- result
 sessionFeatureRemoveFeature _obj type_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let type_' = gtypeToCGType type_
@@ -219,5 +274,9 @@
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
+
+data SessionFeatureRemoveFeatureMethodInfo
+instance (signature ~ (GType -> m Bool), MonadIO m, SessionFeatureK a) => MethodInfo SessionFeatureRemoveFeatureMethodInfo a signature where
+    overloadedMethod _ = sessionFeatureRemoveFeature
 
 
diff --git a/GI/Soup/Interfaces/SessionFeature.hs-boot b/GI/Soup/Interfaces/SessionFeature.hs-boot
--- a/GI/Soup/Interfaces/SessionFeature.hs-boot
+++ b/GI/Soup/Interfaces/SessionFeature.hs-boot
@@ -11,3 +11,8 @@
 instance GObject SessionFeature where
 class GObject o => SessionFeatureK o
 instance (GObject o, IsDescendantOf SessionFeature o) => SessionFeatureK o
+data SessionFeatureAddFeatureMethodInfo
+data SessionFeatureAttachMethodInfo
+data SessionFeatureDetachMethodInfo
+data SessionFeatureHasFeatureMethodInfo
+data SessionFeatureRemoveFeatureMethodInfo
diff --git a/GI/Soup/Objects.hs b/GI/Soup/Objects.hs
--- a/GI/Soup/Objects.hs
+++ b/GI/Soup/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/Soup/Objects/Address.hs b/GI/Soup/Objects/Address.hs
--- a/GI/Soup/Objects/Address.hs
+++ b/GI/Soup/Objects/Address.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,38 +18,47 @@
 
  -- * Methods
 -- ** addressEqualByIp
+    AddressEqualByIpMethodInfo              ,
     addressEqualByIp                        ,
 
 
 -- ** addressEqualByName
+    AddressEqualByNameMethodInfo            ,
     addressEqualByName                      ,
 
 
 -- ** addressGetGsockaddr
+    AddressGetGsockaddrMethodInfo           ,
     addressGetGsockaddr                     ,
 
 
 -- ** addressGetName
+    AddressGetNameMethodInfo                ,
     addressGetName                          ,
 
 
 -- ** addressGetPhysical
+    AddressGetPhysicalMethodInfo            ,
     addressGetPhysical                      ,
 
 
 -- ** addressGetPort
+    AddressGetPortMethodInfo                ,
     addressGetPort                          ,
 
 
 -- ** addressHashByIp
+    AddressHashByIpMethodInfo               ,
     addressHashByIp                         ,
 
 
 -- ** addressHashByName
+    AddressHashByNameMethodInfo             ,
     addressHashByName                       ,
 
 
 -- ** addressIsResolved
+    AddressIsResolvedMethodInfo             ,
     addressIsResolved                       ,
 
 
@@ -65,10 +75,12 @@
 
 
 -- ** addressResolveAsync
+    AddressResolveAsyncMethodInfo           ,
     addressResolveAsync                     ,
 
 
 -- ** addressResolveSync
+    AddressResolveSyncMethodInfo            ,
     addressResolveSync                      ,
 
 
@@ -148,6 +160,52 @@
 noAddress :: Maybe Address
 noAddress = Nothing
 
+type family ResolveAddressMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAddressMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveAddressMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveAddressMethod "enumerate" o = Gio.SocketConnectableEnumerateMethodInfo
+    ResolveAddressMethod "equalByIp" o = AddressEqualByIpMethodInfo
+    ResolveAddressMethod "equalByName" o = AddressEqualByNameMethodInfo
+    ResolveAddressMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveAddressMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveAddressMethod "hashByIp" o = AddressHashByIpMethodInfo
+    ResolveAddressMethod "hashByName" o = AddressHashByNameMethodInfo
+    ResolveAddressMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveAddressMethod "isResolved" o = AddressIsResolvedMethodInfo
+    ResolveAddressMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveAddressMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveAddressMethod "proxyEnumerate" o = Gio.SocketConnectableProxyEnumerateMethodInfo
+    ResolveAddressMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveAddressMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveAddressMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveAddressMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveAddressMethod "resolveAsync" o = AddressResolveAsyncMethodInfo
+    ResolveAddressMethod "resolveSync" o = AddressResolveSyncMethodInfo
+    ResolveAddressMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveAddressMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveAddressMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveAddressMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveAddressMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveAddressMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveAddressMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveAddressMethod "getGsockaddr" o = AddressGetGsockaddrMethodInfo
+    ResolveAddressMethod "getName" o = AddressGetNameMethodInfo
+    ResolveAddressMethod "getPhysical" o = AddressGetPhysicalMethodInfo
+    ResolveAddressMethod "getPort" o = AddressGetPortMethodInfo
+    ResolveAddressMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveAddressMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveAddressMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveAddressMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveAddressMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAddressMethod t Address, MethodInfo info Address p) => IsLabelProxy t (Address -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAddressMethod t Address, MethodInfo info Address p) => IsLabel t (Address -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- VVV Prop "family"
    -- Type: TInterface "Soup" "AddressFamily"
    -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
@@ -164,7 +222,7 @@
     type AttrSetTypeConstraint AddressFamilyPropertyInfo = (~) AddressFamily
     type AttrBaseTypeConstraint AddressFamilyPropertyInfo = AddressK
     type AttrGetType AddressFamilyPropertyInfo = AddressFamily
-    type AttrLabel AddressFamilyPropertyInfo = "Address::family"
+    type AttrLabel AddressFamilyPropertyInfo = "family"
     attrGet _ = getAddressFamily
     attrSet _ = undefined
     attrConstruct _ = constructAddressFamily
@@ -185,7 +243,7 @@
     type AttrSetTypeConstraint AddressNamePropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint AddressNamePropertyInfo = AddressK
     type AttrGetType AddressNamePropertyInfo = T.Text
-    type AttrLabel AddressNamePropertyInfo = "Address::name"
+    type AttrLabel AddressNamePropertyInfo = "name"
     attrGet _ = getAddressName
     attrSet _ = undefined
     attrConstruct _ = constructAddressName
@@ -203,7 +261,7 @@
     type AttrSetTypeConstraint AddressPhysicalPropertyInfo = (~) ()
     type AttrBaseTypeConstraint AddressPhysicalPropertyInfo = AddressK
     type AttrGetType AddressPhysicalPropertyInfo = T.Text
-    type AttrLabel AddressPhysicalPropertyInfo = "Address::physical"
+    type AttrLabel AddressPhysicalPropertyInfo = "physical"
     attrGet _ = getAddressPhysical
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -224,7 +282,7 @@
     type AttrSetTypeConstraint AddressPortPropertyInfo = (~) Int32
     type AttrBaseTypeConstraint AddressPortPropertyInfo = AddressK
     type AttrGetType AddressPortPropertyInfo = Int32
-    type AttrLabel AddressPortPropertyInfo = "Address::port"
+    type AttrLabel AddressPortPropertyInfo = "port"
     attrGet _ = getAddressPort
     attrSet _ = undefined
     attrConstruct _ = constructAddressPort
@@ -245,7 +303,7 @@
     type AttrSetTypeConstraint AddressProtocolPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint AddressProtocolPropertyInfo = AddressK
     type AttrGetType AddressProtocolPropertyInfo = T.Text
-    type AttrLabel AddressProtocolPropertyInfo = "Address::protocol"
+    type AttrLabel AddressProtocolPropertyInfo = "protocol"
     attrGet _ = getAddressProtocol
     attrSet _ = undefined
     attrConstruct _ = constructAddressProtocol
@@ -266,7 +324,7 @@
     type AttrSetTypeConstraint AddressSockaddrPropertyInfo = (~) (Ptr ())
     type AttrBaseTypeConstraint AddressSockaddrPropertyInfo = AddressK
     type AttrGetType AddressSockaddrPropertyInfo = (Ptr ())
-    type AttrLabel AddressSockaddrPropertyInfo = "Address::sockaddr"
+    type AttrLabel AddressSockaddrPropertyInfo = "sockaddr"
     attrGet _ = getAddressSockaddr
     attrSet _ = undefined
     attrConstruct _ = constructAddressSockaddr
@@ -275,13 +333,12 @@
 type AddressAttributeList = ('[ '("family", AddressFamilyPropertyInfo), '("name", AddressNamePropertyInfo), '("physical", AddressPhysicalPropertyInfo), '("port", AddressPortPropertyInfo), '("protocol", AddressProtocolPropertyInfo), '("sockaddr", AddressSockaddrPropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList Address = AddressSignalList
-type AddressSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type AddressSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Address::new
 -- method type : Constructor
--- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Address"
 -- throws : False
 -- Skip return : False
@@ -294,9 +351,9 @@
 
 addressNew ::
     (MonadIO m) =>
-    T.Text ->                               -- name
-    Word32 ->                               -- port
-    m Address
+    T.Text                                  -- name
+    -> Word32                               -- port
+    -> m Address                            -- result
 addressNew name port = liftIO $ do
     name' <- textToCString name
     result <- soup_address_new name' port
@@ -307,9 +364,8 @@
 
 -- method Address::new_any
 -- method type : Constructor
--- Args : [Arg {argName = "family", argType = TInterface "Soup" "AddressFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "family", argType = TInterface "Soup" "AddressFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "family", argType = TInterface "Soup" "AddressFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Address"
 -- throws : False
 -- Skip return : False
@@ -322,9 +378,9 @@
 
 addressNewAny ::
     (MonadIO m) =>
-    AddressFamily ->                        -- family
-    Word32 ->                               -- port
-    m Address
+    AddressFamily                           -- family
+    -> Word32                               -- port
+    -> m Address                            -- result
 addressNewAny family port = liftIO $ do
     let family' = (fromIntegral . fromEnum) family
     result <- soup_address_new_any family' port
@@ -334,9 +390,8 @@
 
 -- method Address::new_from_sockaddr
 -- method type : Constructor
--- Args : [Arg {argName = "sa", argType = TBasicType TVoid, 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 = "sa", argType = TBasicType TVoid, 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 = "sa", argType = TBasicType TVoid, 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 : TInterface "Soup" "Address"
 -- throws : False
 -- Skip return : False
@@ -349,9 +404,9 @@
 
 addressNewFromSockaddr ::
     (MonadIO m) =>
-    Ptr () ->                               -- sa
-    Int32 ->                                -- len
-    m Address
+    Ptr ()                                  -- sa
+    -> Int32                                -- len
+    -> m Address                            -- result
 addressNewFromSockaddr sa len = liftIO $ do
     result <- soup_address_new_from_sockaddr sa len
     checkUnexpectedReturnNULL "soup_address_new_from_sockaddr" result
@@ -360,9 +415,8 @@
 
 -- method Address::equal_by_ip
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "addr2", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "addr2", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "addr2", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -375,9 +429,9 @@
 
 addressEqualByIp ::
     (MonadIO m, AddressK a, AddressK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- addr2
-    m Bool
+    a                                       -- _obj
+    -> b                                    -- addr2
+    -> m Bool                               -- result
 addressEqualByIp _obj addr2 = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let addr2' = unsafeManagedPtrCastPtr addr2
@@ -387,11 +441,14 @@
     touchManagedPtr addr2
     return result'
 
+data AddressEqualByIpMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, AddressK a, AddressK b) => MethodInfo AddressEqualByIpMethodInfo a signature where
+    overloadedMethod _ = addressEqualByIp
+
 -- method Address::equal_by_name
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "addr2", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "addr2", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "addr2", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -404,9 +461,9 @@
 
 addressEqualByName ::
     (MonadIO m, AddressK a, AddressK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- addr2
-    m Bool
+    a                                       -- _obj
+    -> b                                    -- addr2
+    -> m Bool                               -- result
 addressEqualByName _obj addr2 = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let addr2' = unsafeManagedPtrCastPtr addr2
@@ -416,11 +473,14 @@
     touchManagedPtr addr2
     return result'
 
+data AddressEqualByNameMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, AddressK a, AddressK b) => MethodInfo AddressEqualByNameMethodInfo a signature where
+    overloadedMethod _ = addressEqualByName
+
 -- method Address::get_gsockaddr
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Gio" "SocketAddress"
 -- throws : False
 -- Skip return : False
@@ -432,8 +492,8 @@
 
 addressGetGsockaddr ::
     (MonadIO m, AddressK a) =>
-    a ->                                    -- _obj
-    m Gio.SocketAddress
+    a                                       -- _obj
+    -> m Gio.SocketAddress                  -- result
 addressGetGsockaddr _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_address_get_gsockaddr _obj'
@@ -442,11 +502,14 @@
     touchManagedPtr _obj
     return result'
 
+data AddressGetGsockaddrMethodInfo
+instance (signature ~ (m Gio.SocketAddress), MonadIO m, AddressK a) => MethodInfo AddressGetGsockaddrMethodInfo a signature where
+    overloadedMethod _ = addressGetGsockaddr
+
 -- method Address::get_name
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -458,8 +521,8 @@
 
 addressGetName ::
     (MonadIO m, AddressK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 addressGetName _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_address_get_name _obj'
@@ -468,11 +531,14 @@
     touchManagedPtr _obj
     return result'
 
+data AddressGetNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, AddressK a) => MethodInfo AddressGetNameMethodInfo a signature where
+    overloadedMethod _ = addressGetName
+
 -- method Address::get_physical
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -484,8 +550,8 @@
 
 addressGetPhysical ::
     (MonadIO m, AddressK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 addressGetPhysical _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_address_get_physical _obj'
@@ -494,11 +560,14 @@
     touchManagedPtr _obj
     return result'
 
+data AddressGetPhysicalMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, AddressK a) => MethodInfo AddressGetPhysicalMethodInfo a signature where
+    overloadedMethod _ = addressGetPhysical
+
 -- method Address::get_port
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -510,19 +579,22 @@
 
 addressGetPort ::
     (MonadIO m, AddressK a) =>
-    a ->                                    -- _obj
-    m Word32
+    a                                       -- _obj
+    -> m Word32                             -- result
 addressGetPort _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_address_get_port _obj'
     touchManagedPtr _obj
     return result
 
+data AddressGetPortMethodInfo
+instance (signature ~ (m Word32), MonadIO m, AddressK a) => MethodInfo AddressGetPortMethodInfo a signature where
+    overloadedMethod _ = addressGetPort
+
 -- method Address::hash_by_ip
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -534,19 +606,22 @@
 
 addressHashByIp ::
     (MonadIO m, AddressK a) =>
-    a ->                                    -- _obj
-    m Word32
+    a                                       -- _obj
+    -> m Word32                             -- result
 addressHashByIp _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_address_hash_by_ip _obj'
     touchManagedPtr _obj
     return result
 
+data AddressHashByIpMethodInfo
+instance (signature ~ (m Word32), MonadIO m, AddressK a) => MethodInfo AddressHashByIpMethodInfo a signature where
+    overloadedMethod _ = addressHashByIp
+
 -- method Address::hash_by_name
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -558,19 +633,22 @@
 
 addressHashByName ::
     (MonadIO m, AddressK a) =>
-    a ->                                    -- _obj
-    m Word32
+    a                                       -- _obj
+    -> m Word32                             -- result
 addressHashByName _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_address_hash_by_name _obj'
     touchManagedPtr _obj
     return result
 
+data AddressHashByNameMethodInfo
+instance (signature ~ (m Word32), MonadIO m, AddressK a) => MethodInfo AddressHashByNameMethodInfo a signature where
+    overloadedMethod _ = addressHashByName
+
 -- method Address::is_resolved
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -582,8 +660,8 @@
 
 addressIsResolved ::
     (MonadIO m, AddressK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 addressIsResolved _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_address_is_resolved _obj'
@@ -591,11 +669,14 @@
     touchManagedPtr _obj
     return result'
 
+data AddressIsResolvedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, AddressK a) => MethodInfo AddressIsResolvedMethodInfo a signature where
+    overloadedMethod _ = addressIsResolved
+
 -- method Address::resolve_async
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "async_context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AddressCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "async_context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Soup" "AddressCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_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 "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "async_context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AddressCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -611,18 +692,18 @@
 
 addressResolveAsync ::
     (MonadIO m, AddressK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    Maybe (GLib.MainContext) ->             -- async_context
-    Maybe (b) ->                            -- cancellable
-    AddressCallback ->                      -- callback
-    m ()
-addressResolveAsync _obj async_context cancellable callback = liftIO $ do
+    a                                       -- _obj
+    -> Maybe (GLib.MainContext)             -- asyncContext
+    -> Maybe (b)                            -- cancellable
+    -> AddressCallback                      -- callback
+    -> m ()                                 -- result
+addressResolveAsync _obj asyncContext cancellable callback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeAsync_context <- case async_context of
+    maybeAsyncContext <- case asyncContext of
         Nothing -> return nullPtr
-        Just jAsync_context -> do
-            let jAsync_context' = unsafeManagedPtrGetPtr jAsync_context
-            return jAsync_context'
+        Just jAsyncContext -> do
+            let jAsyncContext' = unsafeManagedPtrGetPtr jAsyncContext
+            return jAsyncContext'
     maybeCancellable <- case cancellable of
         Nothing -> return nullPtr
         Just jCancellable -> do
@@ -631,18 +712,21 @@
     ptrcallback <- callocMem :: IO (Ptr (FunPtr AddressCallbackC))
     callback' <- mkAddressCallback (addressCallbackWrapper (Just ptrcallback) callback)
     poke ptrcallback callback'
-    let user_data = nullPtr
-    soup_address_resolve_async _obj' maybeAsync_context maybeCancellable callback' user_data
+    let userData = nullPtr
+    soup_address_resolve_async _obj' maybeAsyncContext maybeCancellable callback' userData
     touchManagedPtr _obj
-    whenJust async_context touchManagedPtr
+    whenJust asyncContext touchManagedPtr
     whenJust cancellable touchManagedPtr
     return ()
 
+data AddressResolveAsyncMethodInfo
+instance (signature ~ (Maybe (GLib.MainContext) -> Maybe (b) -> AddressCallback -> m ()), MonadIO m, AddressK a, Gio.CancellableK b) => MethodInfo AddressResolveAsyncMethodInfo a signature where
+    overloadedMethod _ = addressResolveAsync
+
 -- method Address::resolve_sync
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -655,9 +739,9 @@
 
 addressResolveSync ::
     (MonadIO m, AddressK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    Maybe (b) ->                            -- cancellable
-    m Word32
+    a                                       -- _obj
+    -> Maybe (b)                            -- cancellable
+    -> m Word32                             -- result
 addressResolveSync _obj cancellable = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeCancellable <- case cancellable of
@@ -669,5 +753,9 @@
     touchManagedPtr _obj
     whenJust cancellable touchManagedPtr
     return result
+
+data AddressResolveSyncMethodInfo
+instance (signature ~ (Maybe (b) -> m Word32), MonadIO m, AddressK a, Gio.CancellableK b) => MethodInfo AddressResolveSyncMethodInfo a signature where
+    overloadedMethod _ = addressResolveSync
 
 
diff --git a/GI/Soup/Objects/Address.hs-boot b/GI/Soup/Objects/Address.hs-boot
--- a/GI/Soup/Objects/Address.hs-boot
+++ b/GI/Soup/Objects/Address.hs-boot
@@ -17,3 +17,14 @@
 data AddressPortPropertyInfo
 data AddressProtocolPropertyInfo
 data AddressSockaddrPropertyInfo
+data AddressEqualByIpMethodInfo
+data AddressEqualByNameMethodInfo
+data AddressGetGsockaddrMethodInfo
+data AddressGetNameMethodInfo
+data AddressGetPhysicalMethodInfo
+data AddressGetPortMethodInfo
+data AddressHashByIpMethodInfo
+data AddressHashByNameMethodInfo
+data AddressIsResolvedMethodInfo
+data AddressResolveAsyncMethodInfo
+data AddressResolveSyncMethodInfo
diff --git a/GI/Soup/Objects/Auth.hs b/GI/Soup/Objects/Auth.hs
--- a/GI/Soup/Objects/Auth.hs
+++ b/GI/Soup/Objects/Auth.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,54 +18,67 @@
 
  -- * Methods
 -- ** authAuthenticate
+    AuthAuthenticateMethodInfo              ,
     authAuthenticate                        ,
 
 
 -- ** authGetAuthorization
+    AuthGetAuthorizationMethodInfo          ,
     authGetAuthorization                    ,
 
 
 -- ** authGetHost
+    AuthGetHostMethodInfo                   ,
     authGetHost                             ,
 
 
 -- ** authGetInfo
+    AuthGetInfoMethodInfo                   ,
     authGetInfo                             ,
 
 
 -- ** authGetProtectionSpace
+    AuthGetProtectionSpaceMethodInfo        ,
     authGetProtectionSpace                  ,
 
 
 -- ** authGetRealm
+    AuthGetRealmMethodInfo                  ,
     authGetRealm                            ,
 
 
 -- ** authGetSavedPassword
+    AuthGetSavedPasswordMethodInfo          ,
     authGetSavedPassword                    ,
 
 
 -- ** authGetSavedUsers
+    AuthGetSavedUsersMethodInfo             ,
     authGetSavedUsers                       ,
 
 
 -- ** authGetSchemeName
+    AuthGetSchemeNameMethodInfo             ,
     authGetSchemeName                       ,
 
 
 -- ** authHasSavedPassword
+    AuthHasSavedPasswordMethodInfo          ,
     authHasSavedPassword                    ,
 
 
 -- ** authIsAuthenticated
+    AuthIsAuthenticatedMethodInfo           ,
     authIsAuthenticated                     ,
 
 
 -- ** authIsForProxy
+    AuthIsForProxyMethodInfo                ,
     authIsForProxy                          ,
 
 
 -- ** authIsReady
+    AuthIsReadyMethodInfo                   ,
     authIsReady                             ,
 
 
@@ -73,10 +87,12 @@
 
 
 -- ** authSavePassword
+    AuthSavePasswordMethodInfo              ,
     authSavePassword                        ,
 
 
 -- ** authUpdate
+    AuthUpdateMethodInfo                    ,
     authUpdate                              ,
 
 
@@ -150,6 +166,54 @@
 noAuth :: Maybe Auth
 noAuth = Nothing
 
+type family ResolveAuthMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAuthMethod "authenticate" o = AuthAuthenticateMethodInfo
+    ResolveAuthMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveAuthMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveAuthMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveAuthMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveAuthMethod "hasSavedPassword" o = AuthHasSavedPasswordMethodInfo
+    ResolveAuthMethod "isAuthenticated" o = AuthIsAuthenticatedMethodInfo
+    ResolveAuthMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveAuthMethod "isForProxy" o = AuthIsForProxyMethodInfo
+    ResolveAuthMethod "isReady" o = AuthIsReadyMethodInfo
+    ResolveAuthMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveAuthMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveAuthMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveAuthMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveAuthMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveAuthMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveAuthMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveAuthMethod "savePassword" o = AuthSavePasswordMethodInfo
+    ResolveAuthMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveAuthMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveAuthMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveAuthMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveAuthMethod "update" o = AuthUpdateMethodInfo
+    ResolveAuthMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveAuthMethod "getAuthorization" o = AuthGetAuthorizationMethodInfo
+    ResolveAuthMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveAuthMethod "getHost" o = AuthGetHostMethodInfo
+    ResolveAuthMethod "getInfo" o = AuthGetInfoMethodInfo
+    ResolveAuthMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveAuthMethod "getProtectionSpace" o = AuthGetProtectionSpaceMethodInfo
+    ResolveAuthMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveAuthMethod "getRealm" o = AuthGetRealmMethodInfo
+    ResolveAuthMethod "getSavedPassword" o = AuthGetSavedPasswordMethodInfo
+    ResolveAuthMethod "getSavedUsers" o = AuthGetSavedUsersMethodInfo
+    ResolveAuthMethod "getSchemeName" o = AuthGetSchemeNameMethodInfo
+    ResolveAuthMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveAuthMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveAuthMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAuthMethod t Auth, MethodInfo info Auth p) => IsLabelProxy t (Auth -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAuthMethod t Auth, MethodInfo info Auth p) => IsLabel t (Auth -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- VVV Prop "host"
    -- Type: TBasicType TUTF8
    -- Flags: [PropertyReadable,PropertyWritable]
@@ -169,7 +233,7 @@
     type AttrSetTypeConstraint AuthHostPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint AuthHostPropertyInfo = AuthK
     type AttrGetType AuthHostPropertyInfo = T.Text
-    type AttrLabel AuthHostPropertyInfo = "Auth::host"
+    type AttrLabel AuthHostPropertyInfo = "host"
     attrGet _ = getAuthHost
     attrSet _ = setAuthHost
     attrConstruct _ = constructAuthHost
@@ -187,7 +251,7 @@
     type AttrSetTypeConstraint AuthIsAuthenticatedPropertyInfo = (~) ()
     type AttrBaseTypeConstraint AuthIsAuthenticatedPropertyInfo = AuthK
     type AttrGetType AuthIsAuthenticatedPropertyInfo = Bool
-    type AttrLabel AuthIsAuthenticatedPropertyInfo = "Auth::is-authenticated"
+    type AttrLabel AuthIsAuthenticatedPropertyInfo = "is-authenticated"
     attrGet _ = getAuthIsAuthenticated
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -211,7 +275,7 @@
     type AttrSetTypeConstraint AuthIsForProxyPropertyInfo = (~) Bool
     type AttrBaseTypeConstraint AuthIsForProxyPropertyInfo = AuthK
     type AttrGetType AuthIsForProxyPropertyInfo = Bool
-    type AttrLabel AuthIsForProxyPropertyInfo = "Auth::is-for-proxy"
+    type AttrLabel AuthIsForProxyPropertyInfo = "is-for-proxy"
     attrGet _ = getAuthIsForProxy
     attrSet _ = setAuthIsForProxy
     attrConstruct _ = constructAuthIsForProxy
@@ -235,7 +299,7 @@
     type AttrSetTypeConstraint AuthRealmPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint AuthRealmPropertyInfo = AuthK
     type AttrGetType AuthRealmPropertyInfo = T.Text
-    type AttrLabel AuthRealmPropertyInfo = "Auth::realm"
+    type AttrLabel AuthRealmPropertyInfo = "realm"
     attrGet _ = getAuthRealm
     attrSet _ = setAuthRealm
     attrConstruct _ = constructAuthRealm
@@ -253,22 +317,21 @@
     type AttrSetTypeConstraint AuthSchemeNamePropertyInfo = (~) ()
     type AttrBaseTypeConstraint AuthSchemeNamePropertyInfo = AuthK
     type AttrGetType AuthSchemeNamePropertyInfo = T.Text
-    type AttrLabel AuthSchemeNamePropertyInfo = "Auth::scheme-name"
+    type AttrLabel AuthSchemeNamePropertyInfo = "scheme-name"
     attrGet _ = getAuthSchemeName
     attrSet _ = undefined
     attrConstruct _ = undefined
 
 type instance AttributeList Auth = AuthAttributeList
-type AuthAttributeList = ('[ '("host", AuthHostPropertyInfo), '("is-authenticated", AuthIsAuthenticatedPropertyInfo), '("is-for-proxy", AuthIsForProxyPropertyInfo), '("realm", AuthRealmPropertyInfo), '("scheme-name", AuthSchemeNamePropertyInfo)] :: [(Symbol, *)])
+type AuthAttributeList = ('[ '("host", AuthHostPropertyInfo), '("isAuthenticated", AuthIsAuthenticatedPropertyInfo), '("isForProxy", AuthIsForProxyPropertyInfo), '("realm", AuthRealmPropertyInfo), '("schemeName", AuthSchemeNamePropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList Auth = AuthSignalList
-type AuthSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type AuthSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Auth::new
 -- method type : Constructor
--- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "auth_header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Auth"
 -- throws : False
 -- Skip return : False
@@ -282,26 +345,25 @@
 
 authNew ::
     (MonadIO m, MessageK a) =>
-    GType ->                                -- type
-    a ->                                    -- msg
-    T.Text ->                               -- auth_header
-    m Auth
-authNew type_ msg auth_header = liftIO $ do
+    GType                                   -- type_
+    -> a                                    -- msg
+    -> T.Text                               -- authHeader
+    -> m Auth                               -- result
+authNew type_ msg authHeader = liftIO $ do
     let type_' = gtypeToCGType type_
     let msg' = unsafeManagedPtrCastPtr msg
-    auth_header' <- textToCString auth_header
-    result <- soup_auth_new type_' msg' auth_header'
+    authHeader' <- textToCString authHeader
+    result <- soup_auth_new type_' msg' authHeader'
     checkUnexpectedReturnNULL "soup_auth_new" result
     result' <- (wrapObject Auth) result
     touchManagedPtr msg
-    freeMem auth_header'
+    freeMem authHeader'
     return result'
 
 -- method Auth::authenticate
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -315,10 +377,10 @@
 
 authAuthenticate ::
     (MonadIO m, AuthK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- username
-    T.Text ->                               -- password
-    m ()
+    a                                       -- _obj
+    -> T.Text                               -- username
+    -> T.Text                               -- password
+    -> m ()                                 -- result
 authAuthenticate _obj username password = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     username' <- textToCString username
@@ -329,11 +391,14 @@
     freeMem password'
     return ()
 
+data AuthAuthenticateMethodInfo
+instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, AuthK a) => MethodInfo AuthAuthenticateMethodInfo a signature where
+    overloadedMethod _ = authAuthenticate
+
 -- method Auth::get_authorization
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -346,9 +411,9 @@
 
 authGetAuthorization ::
     (MonadIO m, AuthK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    m T.Text
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> m T.Text                             -- result
 authGetAuthorization _obj msg = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -360,11 +425,14 @@
     touchManagedPtr msg
     return result'
 
+data AuthGetAuthorizationMethodInfo
+instance (signature ~ (b -> m T.Text), MonadIO m, AuthK a, MessageK b) => MethodInfo AuthGetAuthorizationMethodInfo a signature where
+    overloadedMethod _ = authGetAuthorization
+
 -- method Auth::get_host
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -376,8 +444,8 @@
 
 authGetHost ::
     (MonadIO m, AuthK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 authGetHost _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_auth_get_host _obj'
@@ -386,11 +454,14 @@
     touchManagedPtr _obj
     return result'
 
+data AuthGetHostMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, AuthK a) => MethodInfo AuthGetHostMethodInfo a signature where
+    overloadedMethod _ = authGetHost
+
 -- method Auth::get_info
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -402,8 +473,8 @@
 
 authGetInfo ::
     (MonadIO m, AuthK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 authGetInfo _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_auth_get_info _obj'
@@ -413,11 +484,14 @@
     touchManagedPtr _obj
     return result'
 
+data AuthGetInfoMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, AuthK a) => MethodInfo AuthGetInfoMethodInfo a signature where
+    overloadedMethod _ = authGetInfo
+
 -- method Auth::get_protection_space
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source_uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TBasicType TUTF8)
 -- throws : False
 -- Skip return : False
@@ -430,27 +504,30 @@
 
 authGetProtectionSpace ::
     (MonadIO m, AuthK a) =>
-    a ->                                    -- _obj
-    URI ->                                  -- source_uri
-    m [T.Text]
-authGetProtectionSpace _obj source_uri = liftIO $ do
+    a                                       -- _obj
+    -> URI                                  -- sourceUri
+    -> m [T.Text]                           -- result
+authGetProtectionSpace _obj sourceUri = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let source_uri' = unsafeManagedPtrGetPtr source_uri
-    result <- soup_auth_get_protection_space _obj' source_uri'
+    let sourceUri' = unsafeManagedPtrGetPtr sourceUri
+    result <- soup_auth_get_protection_space _obj' sourceUri'
     checkUnexpectedReturnNULL "soup_auth_get_protection_space" result
     result' <- unpackGSList result
     result'' <- mapM cstringToText result'
     mapGSList freeMem result
     g_slist_free result
     touchManagedPtr _obj
-    touchManagedPtr source_uri
+    touchManagedPtr sourceUri
     return result''
 
+data AuthGetProtectionSpaceMethodInfo
+instance (signature ~ (URI -> m [T.Text]), MonadIO m, AuthK a) => MethodInfo AuthGetProtectionSpaceMethodInfo a signature where
+    overloadedMethod _ = authGetProtectionSpace
+
 -- method Auth::get_realm
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -462,8 +539,8 @@
 
 authGetRealm ::
     (MonadIO m, AuthK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 authGetRealm _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_auth_get_realm _obj'
@@ -472,11 +549,14 @@
     touchManagedPtr _obj
     return result'
 
+data AuthGetRealmMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, AuthK a) => MethodInfo AuthGetRealmMethodInfo a signature where
+    overloadedMethod _ = authGetRealm
+
 -- method Auth::get_saved_password
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -489,9 +569,9 @@
 
 authGetSavedPassword ::
     (MonadIO m, AuthK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- user
-    m T.Text
+    a                                       -- _obj
+    -> T.Text                               -- user
+    -> m T.Text                             -- result
 authGetSavedPassword _obj user = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     user' <- textToCString user
@@ -502,11 +582,14 @@
     freeMem user'
     return result'
 
+data AuthGetSavedPasswordMethodInfo
+instance (signature ~ (T.Text -> m T.Text), MonadIO m, AuthK a) => MethodInfo AuthGetSavedPasswordMethodInfo a signature where
+    overloadedMethod _ = authGetSavedPassword
+
 -- method Auth::get_saved_users
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TBasicType TUTF8)
 -- throws : False
 -- Skip return : False
@@ -518,8 +601,8 @@
 
 authGetSavedUsers ::
     (MonadIO m, AuthK a) =>
-    a ->                                    -- _obj
-    m [T.Text]
+    a                                       -- _obj
+    -> m [T.Text]                           -- result
 authGetSavedUsers _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_auth_get_saved_users _obj'
@@ -531,11 +614,14 @@
     touchManagedPtr _obj
     return result''
 
+data AuthGetSavedUsersMethodInfo
+instance (signature ~ (m [T.Text]), MonadIO m, AuthK a) => MethodInfo AuthGetSavedUsersMethodInfo a signature where
+    overloadedMethod _ = authGetSavedUsers
+
 -- method Auth::get_scheme_name
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -547,8 +633,8 @@
 
 authGetSchemeName ::
     (MonadIO m, AuthK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 authGetSchemeName _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_auth_get_scheme_name _obj'
@@ -557,11 +643,14 @@
     touchManagedPtr _obj
     return result'
 
+data AuthGetSchemeNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, AuthK a) => MethodInfo AuthGetSchemeNameMethodInfo a signature where
+    overloadedMethod _ = authGetSchemeName
+
 -- method Auth::has_saved_password
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -575,10 +664,10 @@
 
 authHasSavedPassword ::
     (MonadIO m, AuthK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- username
-    T.Text ->                               -- password
-    m ()
+    a                                       -- _obj
+    -> T.Text                               -- username
+    -> T.Text                               -- password
+    -> m ()                                 -- result
 authHasSavedPassword _obj username password = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     username' <- textToCString username
@@ -589,11 +678,14 @@
     freeMem password'
     return ()
 
+data AuthHasSavedPasswordMethodInfo
+instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, AuthK a) => MethodInfo AuthHasSavedPasswordMethodInfo a signature where
+    overloadedMethod _ = authHasSavedPassword
+
 -- method Auth::is_authenticated
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -605,8 +697,8 @@
 
 authIsAuthenticated ::
     (MonadIO m, AuthK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 authIsAuthenticated _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_auth_is_authenticated _obj'
@@ -614,11 +706,14 @@
     touchManagedPtr _obj
     return result'
 
+data AuthIsAuthenticatedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, AuthK a) => MethodInfo AuthIsAuthenticatedMethodInfo a signature where
+    overloadedMethod _ = authIsAuthenticated
+
 -- method Auth::is_for_proxy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -630,8 +725,8 @@
 
 authIsForProxy ::
     (MonadIO m, AuthK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 authIsForProxy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_auth_is_for_proxy _obj'
@@ -639,11 +734,14 @@
     touchManagedPtr _obj
     return result'
 
+data AuthIsForProxyMethodInfo
+instance (signature ~ (m Bool), MonadIO m, AuthK a) => MethodInfo AuthIsForProxyMethodInfo a signature where
+    overloadedMethod _ = authIsForProxy
+
 -- method Auth::is_ready
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -656,9 +754,9 @@
 
 authIsReady ::
     (MonadIO m, AuthK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    m Bool
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> m Bool                               -- result
 authIsReady _obj msg = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -668,11 +766,14 @@
     touchManagedPtr msg
     return result'
 
+data AuthIsReadyMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, AuthK a, MessageK b) => MethodInfo AuthIsReadyMethodInfo a signature where
+    overloadedMethod _ = authIsReady
+
 -- method Auth::save_password
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -686,10 +787,10 @@
 
 authSavePassword ::
     (MonadIO m, AuthK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- username
-    T.Text ->                               -- password
-    m ()
+    a                                       -- _obj
+    -> T.Text                               -- username
+    -> T.Text                               -- password
+    -> m ()                                 -- result
 authSavePassword _obj username password = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     username' <- textToCString username
@@ -700,11 +801,14 @@
     freeMem password'
     return ()
 
+data AuthSavePasswordMethodInfo
+instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, AuthK a) => MethodInfo AuthSavePasswordMethodInfo a signature where
+    overloadedMethod _ = authSavePassword
+
 -- method Auth::update
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "auth_header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -718,19 +822,23 @@
 
 authUpdate ::
     (MonadIO m, AuthK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    T.Text ->                               -- auth_header
-    m Bool
-authUpdate _obj msg auth_header = liftIO $ do
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> T.Text                               -- authHeader
+    -> m Bool                               -- result
+authUpdate _obj msg authHeader = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
-    auth_header' <- textToCString auth_header
-    result <- soup_auth_update _obj' msg' auth_header'
+    authHeader' <- textToCString authHeader
+    result <- soup_auth_update _obj' msg' authHeader'
     let result' = (/= 0) result
     touchManagedPtr _obj
     touchManagedPtr msg
-    freeMem auth_header'
+    freeMem authHeader'
     return result'
+
+data AuthUpdateMethodInfo
+instance (signature ~ (b -> T.Text -> m Bool), MonadIO m, AuthK a, MessageK b) => MethodInfo AuthUpdateMethodInfo a signature where
+    overloadedMethod _ = authUpdate
 
 
diff --git a/GI/Soup/Objects/Auth.hs-boot b/GI/Soup/Objects/Auth.hs-boot
--- a/GI/Soup/Objects/Auth.hs-boot
+++ b/GI/Soup/Objects/Auth.hs-boot
@@ -16,3 +16,18 @@
 data AuthIsForProxyPropertyInfo
 data AuthRealmPropertyInfo
 data AuthSchemeNamePropertyInfo
+data AuthAuthenticateMethodInfo
+data AuthGetAuthorizationMethodInfo
+data AuthGetHostMethodInfo
+data AuthGetInfoMethodInfo
+data AuthGetProtectionSpaceMethodInfo
+data AuthGetRealmMethodInfo
+data AuthGetSavedPasswordMethodInfo
+data AuthGetSavedUsersMethodInfo
+data AuthGetSchemeNameMethodInfo
+data AuthHasSavedPasswordMethodInfo
+data AuthIsAuthenticatedMethodInfo
+data AuthIsForProxyMethodInfo
+data AuthIsReadyMethodInfo
+data AuthSavePasswordMethodInfo
+data AuthUpdateMethodInfo
diff --git a/GI/Soup/Objects/AuthBasic.hs b/GI/Soup/Objects/AuthBasic.hs
--- a/GI/Soup/Objects/AuthBasic.hs
+++ b/GI/Soup/Objects/AuthBasic.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -49,10 +50,58 @@
 noAuthBasic :: Maybe AuthBasic
 noAuthBasic = Nothing
 
+type family ResolveAuthBasicMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAuthBasicMethod "authenticate" o = AuthAuthenticateMethodInfo
+    ResolveAuthBasicMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveAuthBasicMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveAuthBasicMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveAuthBasicMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveAuthBasicMethod "hasSavedPassword" o = AuthHasSavedPasswordMethodInfo
+    ResolveAuthBasicMethod "isAuthenticated" o = AuthIsAuthenticatedMethodInfo
+    ResolveAuthBasicMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveAuthBasicMethod "isForProxy" o = AuthIsForProxyMethodInfo
+    ResolveAuthBasicMethod "isReady" o = AuthIsReadyMethodInfo
+    ResolveAuthBasicMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveAuthBasicMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveAuthBasicMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveAuthBasicMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveAuthBasicMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveAuthBasicMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveAuthBasicMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveAuthBasicMethod "savePassword" o = AuthSavePasswordMethodInfo
+    ResolveAuthBasicMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveAuthBasicMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveAuthBasicMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveAuthBasicMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveAuthBasicMethod "update" o = AuthUpdateMethodInfo
+    ResolveAuthBasicMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveAuthBasicMethod "getAuthorization" o = AuthGetAuthorizationMethodInfo
+    ResolveAuthBasicMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveAuthBasicMethod "getHost" o = AuthGetHostMethodInfo
+    ResolveAuthBasicMethod "getInfo" o = AuthGetInfoMethodInfo
+    ResolveAuthBasicMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveAuthBasicMethod "getProtectionSpace" o = AuthGetProtectionSpaceMethodInfo
+    ResolveAuthBasicMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveAuthBasicMethod "getRealm" o = AuthGetRealmMethodInfo
+    ResolveAuthBasicMethod "getSavedPassword" o = AuthGetSavedPasswordMethodInfo
+    ResolveAuthBasicMethod "getSavedUsers" o = AuthGetSavedUsersMethodInfo
+    ResolveAuthBasicMethod "getSchemeName" o = AuthGetSchemeNameMethodInfo
+    ResolveAuthBasicMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveAuthBasicMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveAuthBasicMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAuthBasicMethod t AuthBasic, MethodInfo info AuthBasic p) => IsLabelProxy t (AuthBasic -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAuthBasicMethod t AuthBasic, MethodInfo info AuthBasic p) => IsLabel t (AuthBasic -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList AuthBasic = AuthBasicAttributeList
-type AuthBasicAttributeList = ('[ '("host", AuthHostPropertyInfo), '("is-authenticated", AuthIsAuthenticatedPropertyInfo), '("is-for-proxy", AuthIsForProxyPropertyInfo), '("realm", AuthRealmPropertyInfo), '("scheme-name", AuthSchemeNamePropertyInfo)] :: [(Symbol, *)])
+type AuthBasicAttributeList = ('[ '("host", AuthHostPropertyInfo), '("isAuthenticated", AuthIsAuthenticatedPropertyInfo), '("isForProxy", AuthIsForProxyPropertyInfo), '("realm", AuthRealmPropertyInfo), '("schemeName", AuthSchemeNamePropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList AuthBasic = AuthBasicSignalList
-type AuthBasicSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type AuthBasicSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 
diff --git a/GI/Soup/Objects/AuthDigest.hs b/GI/Soup/Objects/AuthDigest.hs
--- a/GI/Soup/Objects/AuthDigest.hs
+++ b/GI/Soup/Objects/AuthDigest.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -49,10 +50,58 @@
 noAuthDigest :: Maybe AuthDigest
 noAuthDigest = Nothing
 
+type family ResolveAuthDigestMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAuthDigestMethod "authenticate" o = AuthAuthenticateMethodInfo
+    ResolveAuthDigestMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveAuthDigestMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveAuthDigestMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveAuthDigestMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveAuthDigestMethod "hasSavedPassword" o = AuthHasSavedPasswordMethodInfo
+    ResolveAuthDigestMethod "isAuthenticated" o = AuthIsAuthenticatedMethodInfo
+    ResolveAuthDigestMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveAuthDigestMethod "isForProxy" o = AuthIsForProxyMethodInfo
+    ResolveAuthDigestMethod "isReady" o = AuthIsReadyMethodInfo
+    ResolveAuthDigestMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveAuthDigestMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveAuthDigestMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveAuthDigestMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveAuthDigestMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveAuthDigestMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveAuthDigestMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveAuthDigestMethod "savePassword" o = AuthSavePasswordMethodInfo
+    ResolveAuthDigestMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveAuthDigestMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveAuthDigestMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveAuthDigestMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveAuthDigestMethod "update" o = AuthUpdateMethodInfo
+    ResolveAuthDigestMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveAuthDigestMethod "getAuthorization" o = AuthGetAuthorizationMethodInfo
+    ResolveAuthDigestMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveAuthDigestMethod "getHost" o = AuthGetHostMethodInfo
+    ResolveAuthDigestMethod "getInfo" o = AuthGetInfoMethodInfo
+    ResolveAuthDigestMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveAuthDigestMethod "getProtectionSpace" o = AuthGetProtectionSpaceMethodInfo
+    ResolveAuthDigestMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveAuthDigestMethod "getRealm" o = AuthGetRealmMethodInfo
+    ResolveAuthDigestMethod "getSavedPassword" o = AuthGetSavedPasswordMethodInfo
+    ResolveAuthDigestMethod "getSavedUsers" o = AuthGetSavedUsersMethodInfo
+    ResolveAuthDigestMethod "getSchemeName" o = AuthGetSchemeNameMethodInfo
+    ResolveAuthDigestMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveAuthDigestMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveAuthDigestMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAuthDigestMethod t AuthDigest, MethodInfo info AuthDigest p) => IsLabelProxy t (AuthDigest -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAuthDigestMethod t AuthDigest, MethodInfo info AuthDigest p) => IsLabel t (AuthDigest -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList AuthDigest = AuthDigestAttributeList
-type AuthDigestAttributeList = ('[ '("host", AuthHostPropertyInfo), '("is-authenticated", AuthIsAuthenticatedPropertyInfo), '("is-for-proxy", AuthIsForProxyPropertyInfo), '("realm", AuthRealmPropertyInfo), '("scheme-name", AuthSchemeNamePropertyInfo)] :: [(Symbol, *)])
+type AuthDigestAttributeList = ('[ '("host", AuthHostPropertyInfo), '("isAuthenticated", AuthIsAuthenticatedPropertyInfo), '("isForProxy", AuthIsForProxyPropertyInfo), '("realm", AuthRealmPropertyInfo), '("schemeName", AuthSchemeNamePropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList AuthDigest = AuthDigestSignalList
-type AuthDigestSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type AuthDigestSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 
diff --git a/GI/Soup/Objects/AuthDomain.hs b/GI/Soup/Objects/AuthDomain.hs
--- a/GI/Soup/Objects/AuthDomain.hs
+++ b/GI/Soup/Objects/AuthDomain.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,50 +18,62 @@
 
  -- * Methods
 -- ** authDomainAccepts
+    AuthDomainAcceptsMethodInfo             ,
     authDomainAccepts                       ,
 
 
 -- ** authDomainAddPath
+    AuthDomainAddPathMethodInfo             ,
     authDomainAddPath                       ,
 
 
 -- ** authDomainBasicSetAuthCallback
+    AuthDomainBasicSetAuthCallbackMethodInfo,
     authDomainBasicSetAuthCallback          ,
 
 
 -- ** authDomainChallenge
+    AuthDomainChallengeMethodInfo           ,
     authDomainChallenge                     ,
 
 
 -- ** authDomainCheckPassword
+    AuthDomainCheckPasswordMethodInfo       ,
     authDomainCheckPassword                 ,
 
 
 -- ** authDomainCovers
+    AuthDomainCoversMethodInfo              ,
     authDomainCovers                        ,
 
 
 -- ** authDomainDigestSetAuthCallback
+    AuthDomainDigestSetAuthCallbackMethodInfo,
     authDomainDigestSetAuthCallback         ,
 
 
 -- ** authDomainGetRealm
+    AuthDomainGetRealmMethodInfo            ,
     authDomainGetRealm                      ,
 
 
 -- ** authDomainRemovePath
+    AuthDomainRemovePathMethodInfo          ,
     authDomainRemovePath                    ,
 
 
 -- ** authDomainSetFilter
+    AuthDomainSetFilterMethodInfo           ,
     authDomainSetFilter                     ,
 
 
 -- ** authDomainSetGenericAuthCallback
+    AuthDomainSetGenericAuthCallbackMethodInfo,
     authDomainSetGenericAuthCallback        ,
 
 
 -- ** authDomainTryGenericAuthCallback
+    AuthDomainTryGenericAuthCallbackMethodInfo,
     authDomainTryGenericAuthCallback        ,
 
 
@@ -156,6 +169,51 @@
 noAuthDomain :: Maybe AuthDomain
 noAuthDomain = Nothing
 
+type family ResolveAuthDomainMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAuthDomainMethod "accepts" o = AuthDomainAcceptsMethodInfo
+    ResolveAuthDomainMethod "addPath" o = AuthDomainAddPathMethodInfo
+    ResolveAuthDomainMethod "basicSetAuthCallback" o = AuthDomainBasicSetAuthCallbackMethodInfo
+    ResolveAuthDomainMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveAuthDomainMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveAuthDomainMethod "challenge" o = AuthDomainChallengeMethodInfo
+    ResolveAuthDomainMethod "checkPassword" o = AuthDomainCheckPasswordMethodInfo
+    ResolveAuthDomainMethod "covers" o = AuthDomainCoversMethodInfo
+    ResolveAuthDomainMethod "digestSetAuthCallback" o = AuthDomainDigestSetAuthCallbackMethodInfo
+    ResolveAuthDomainMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveAuthDomainMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveAuthDomainMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveAuthDomainMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveAuthDomainMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveAuthDomainMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveAuthDomainMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveAuthDomainMethod "removePath" o = AuthDomainRemovePathMethodInfo
+    ResolveAuthDomainMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveAuthDomainMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveAuthDomainMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveAuthDomainMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveAuthDomainMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveAuthDomainMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveAuthDomainMethod "tryGenericAuthCallback" o = AuthDomainTryGenericAuthCallbackMethodInfo
+    ResolveAuthDomainMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveAuthDomainMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveAuthDomainMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveAuthDomainMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveAuthDomainMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveAuthDomainMethod "getRealm" o = AuthDomainGetRealmMethodInfo
+    ResolveAuthDomainMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveAuthDomainMethod "setFilter" o = AuthDomainSetFilterMethodInfo
+    ResolveAuthDomainMethod "setGenericAuthCallback" o = AuthDomainSetGenericAuthCallbackMethodInfo
+    ResolveAuthDomainMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveAuthDomainMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAuthDomainMethod t AuthDomain, MethodInfo info AuthDomain p) => IsLabelProxy t (AuthDomain -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAuthDomainMethod t AuthDomain, MethodInfo info AuthDomain p) => IsLabel t (AuthDomain -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- VVV Prop "add-path"
    -- Type: TBasicType TUTF8
    -- Flags: [PropertyWritable]
@@ -172,7 +230,7 @@
     type AttrSetTypeConstraint AuthDomainAddPathPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint AuthDomainAddPathPropertyInfo = AuthDomainK
     type AttrGetType AuthDomainAddPathPropertyInfo = ()
-    type AttrLabel AuthDomainAddPathPropertyInfo = "AuthDomain::add-path"
+    type AttrLabel AuthDomainAddPathPropertyInfo = "add-path"
     attrGet _ = undefined
     attrSet _ = setAuthDomainAddPath
     attrConstruct _ = constructAuthDomainAddPath
@@ -196,7 +254,7 @@
     type AttrSetTypeConstraint AuthDomainFilterPropertyInfo = (~) (Ptr ())
     type AttrBaseTypeConstraint AuthDomainFilterPropertyInfo = AuthDomainK
     type AttrGetType AuthDomainFilterPropertyInfo = (Ptr ())
-    type AttrLabel AuthDomainFilterPropertyInfo = "AuthDomain::filter"
+    type AttrLabel AuthDomainFilterPropertyInfo = "filter"
     attrGet _ = getAuthDomainFilter
     attrSet _ = setAuthDomainFilter
     attrConstruct _ = constructAuthDomainFilter
@@ -220,7 +278,7 @@
     type AttrSetTypeConstraint AuthDomainFilterDataPropertyInfo = (~) (Ptr ())
     type AttrBaseTypeConstraint AuthDomainFilterDataPropertyInfo = AuthDomainK
     type AttrGetType AuthDomainFilterDataPropertyInfo = (Ptr ())
-    type AttrLabel AuthDomainFilterDataPropertyInfo = "AuthDomain::filter-data"
+    type AttrLabel AuthDomainFilterDataPropertyInfo = "filter-data"
     attrGet _ = getAuthDomainFilterData
     attrSet _ = setAuthDomainFilterData
     attrConstruct _ = constructAuthDomainFilterData
@@ -244,7 +302,7 @@
     type AttrSetTypeConstraint AuthDomainGenericAuthCallbackPropertyInfo = (~) (Ptr ())
     type AttrBaseTypeConstraint AuthDomainGenericAuthCallbackPropertyInfo = AuthDomainK
     type AttrGetType AuthDomainGenericAuthCallbackPropertyInfo = (Ptr ())
-    type AttrLabel AuthDomainGenericAuthCallbackPropertyInfo = "AuthDomain::generic-auth-callback"
+    type AttrLabel AuthDomainGenericAuthCallbackPropertyInfo = "generic-auth-callback"
     attrGet _ = getAuthDomainGenericAuthCallback
     attrSet _ = setAuthDomainGenericAuthCallback
     attrConstruct _ = constructAuthDomainGenericAuthCallback
@@ -268,7 +326,7 @@
     type AttrSetTypeConstraint AuthDomainGenericAuthDataPropertyInfo = (~) (Ptr ())
     type AttrBaseTypeConstraint AuthDomainGenericAuthDataPropertyInfo = AuthDomainK
     type AttrGetType AuthDomainGenericAuthDataPropertyInfo = (Ptr ())
-    type AttrLabel AuthDomainGenericAuthDataPropertyInfo = "AuthDomain::generic-auth-data"
+    type AttrLabel AuthDomainGenericAuthDataPropertyInfo = "generic-auth-data"
     attrGet _ = getAuthDomainGenericAuthData
     attrSet _ = setAuthDomainGenericAuthData
     attrConstruct _ = constructAuthDomainGenericAuthData
@@ -289,7 +347,7 @@
     type AttrSetTypeConstraint AuthDomainProxyPropertyInfo = (~) Bool
     type AttrBaseTypeConstraint AuthDomainProxyPropertyInfo = AuthDomainK
     type AttrGetType AuthDomainProxyPropertyInfo = Bool
-    type AttrLabel AuthDomainProxyPropertyInfo = "AuthDomain::proxy"
+    type AttrLabel AuthDomainProxyPropertyInfo = "proxy"
     attrGet _ = getAuthDomainProxy
     attrSet _ = undefined
     attrConstruct _ = constructAuthDomainProxy
@@ -310,7 +368,7 @@
     type AttrSetTypeConstraint AuthDomainRealmPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint AuthDomainRealmPropertyInfo = AuthDomainK
     type AttrGetType AuthDomainRealmPropertyInfo = T.Text
-    type AttrLabel AuthDomainRealmPropertyInfo = "AuthDomain::realm"
+    type AttrLabel AuthDomainRealmPropertyInfo = "realm"
     attrGet _ = getAuthDomainRealm
     attrSet _ = undefined
     attrConstruct _ = constructAuthDomainRealm
@@ -331,22 +389,21 @@
     type AttrSetTypeConstraint AuthDomainRemovePathPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint AuthDomainRemovePathPropertyInfo = AuthDomainK
     type AttrGetType AuthDomainRemovePathPropertyInfo = ()
-    type AttrLabel AuthDomainRemovePathPropertyInfo = "AuthDomain::remove-path"
+    type AttrLabel AuthDomainRemovePathPropertyInfo = "remove-path"
     attrGet _ = undefined
     attrSet _ = setAuthDomainRemovePath
     attrConstruct _ = constructAuthDomainRemovePath
 
 type instance AttributeList AuthDomain = AuthDomainAttributeList
-type AuthDomainAttributeList = ('[ '("add-path", AuthDomainAddPathPropertyInfo), '("filter", AuthDomainFilterPropertyInfo), '("filter-data", AuthDomainFilterDataPropertyInfo), '("generic-auth-callback", AuthDomainGenericAuthCallbackPropertyInfo), '("generic-auth-data", AuthDomainGenericAuthDataPropertyInfo), '("proxy", AuthDomainProxyPropertyInfo), '("realm", AuthDomainRealmPropertyInfo), '("remove-path", AuthDomainRemovePathPropertyInfo)] :: [(Symbol, *)])
+type AuthDomainAttributeList = ('[ '("addPath", AuthDomainAddPathPropertyInfo), '("filter", AuthDomainFilterPropertyInfo), '("filterData", AuthDomainFilterDataPropertyInfo), '("genericAuthCallback", AuthDomainGenericAuthCallbackPropertyInfo), '("genericAuthData", AuthDomainGenericAuthDataPropertyInfo), '("proxy", AuthDomainProxyPropertyInfo), '("realm", AuthDomainRealmPropertyInfo), '("removePath", AuthDomainRemovePathPropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList AuthDomain = AuthDomainSignalList
-type AuthDomainSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type AuthDomainSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method AuthDomain::accepts
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -359,9 +416,9 @@
 
 authDomainAccepts ::
     (MonadIO m, AuthDomainK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    m T.Text
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> m T.Text                             -- result
 authDomainAccepts _obj msg = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -373,11 +430,14 @@
     touchManagedPtr msg
     return result'
 
+data AuthDomainAcceptsMethodInfo
+instance (signature ~ (b -> m T.Text), MonadIO m, AuthDomainK a, MessageK b) => MethodInfo AuthDomainAcceptsMethodInfo a signature where
+    overloadedMethod _ = authDomainAccepts
+
 -- method AuthDomain::add_path
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -390,9 +450,9 @@
 
 authDomainAddPath ::
     (MonadIO m, AuthDomainK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- path
-    m ()
+    a                                       -- _obj
+    -> T.Text                               -- path
+    -> m ()                                 -- result
 authDomainAddPath _obj path = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     path' <- textToCString path
@@ -401,11 +461,14 @@
     freeMem path'
     return ()
 
+data AuthDomainAddPathMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, AuthDomainK a) => MethodInfo AuthDomainAddPathMethodInfo a signature where
+    overloadedMethod _ = authDomainAddPath
+
 -- method AuthDomain::basic_set_auth_callback
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AuthDomainBasicAuthCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Soup" "AuthDomainBasicAuthCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AuthDomainBasicAuthCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -420,23 +483,26 @@
 
 authDomainBasicSetAuthCallback ::
     (MonadIO m, AuthDomainK a) =>
-    a ->                                    -- _obj
-    AuthDomainBasicAuthCallback ->          -- callback
-    m ()
+    a                                       -- _obj
+    -> AuthDomainBasicAuthCallback          -- callback
+    -> m ()                                 -- result
 authDomainBasicSetAuthCallback _obj callback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     callback' <- mkAuthDomainBasicAuthCallback (authDomainBasicAuthCallbackWrapper Nothing callback)
-    let user_data = castFunPtrToPtr callback'
+    let userData = castFunPtrToPtr callback'
     let dnotify = safeFreeFunPtrPtr
-    soup_auth_domain_basic_set_auth_callback _obj' callback' user_data dnotify
+    soup_auth_domain_basic_set_auth_callback _obj' callback' userData dnotify
     touchManagedPtr _obj
     return ()
 
+data AuthDomainBasicSetAuthCallbackMethodInfo
+instance (signature ~ (AuthDomainBasicAuthCallback -> m ()), MonadIO m, AuthDomainK a) => MethodInfo AuthDomainBasicSetAuthCallbackMethodInfo a signature where
+    overloadedMethod _ = authDomainBasicSetAuthCallback
+
 -- method AuthDomain::challenge
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -449,9 +515,9 @@
 
 authDomainChallenge ::
     (MonadIO m, AuthDomainK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    m ()
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> m ()                                 -- result
 authDomainChallenge _obj msg = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -460,11 +526,14 @@
     touchManagedPtr msg
     return ()
 
+data AuthDomainChallengeMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, AuthDomainK a, MessageK b) => MethodInfo AuthDomainChallengeMethodInfo a signature where
+    overloadedMethod _ = authDomainChallenge
+
 -- method AuthDomain::check_password
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -479,11 +548,11 @@
 
 authDomainCheckPassword ::
     (MonadIO m, AuthDomainK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    T.Text ->                               -- username
-    T.Text ->                               -- password
-    m Bool
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> T.Text                               -- username
+    -> T.Text                               -- password
+    -> m Bool                               -- result
 authDomainCheckPassword _obj msg username password = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -497,11 +566,14 @@
     freeMem password'
     return result'
 
+data AuthDomainCheckPasswordMethodInfo
+instance (signature ~ (b -> T.Text -> T.Text -> m Bool), MonadIO m, AuthDomainK a, MessageK b) => MethodInfo AuthDomainCheckPasswordMethodInfo a signature where
+    overloadedMethod _ = authDomainCheckPassword
+
 -- method AuthDomain::covers
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -514,9 +586,9 @@
 
 authDomainCovers ::
     (MonadIO m, AuthDomainK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    m Bool
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> m Bool                               -- result
 authDomainCovers _obj msg = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -526,11 +598,14 @@
     touchManagedPtr msg
     return result'
 
+data AuthDomainCoversMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, AuthDomainK a, MessageK b) => MethodInfo AuthDomainCoversMethodInfo a signature where
+    overloadedMethod _ = authDomainCovers
+
 -- method AuthDomain::digest_set_auth_callback
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AuthDomainDigestAuthCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Soup" "AuthDomainDigestAuthCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AuthDomainDigestAuthCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -545,23 +620,26 @@
 
 authDomainDigestSetAuthCallback ::
     (MonadIO m, AuthDomainK a) =>
-    a ->                                    -- _obj
-    AuthDomainDigestAuthCallback ->         -- callback
-    m ()
+    a                                       -- _obj
+    -> AuthDomainDigestAuthCallback         -- callback
+    -> m ()                                 -- result
 authDomainDigestSetAuthCallback _obj callback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     callback' <- mkAuthDomainDigestAuthCallback (authDomainDigestAuthCallbackWrapper Nothing callback)
-    let user_data = castFunPtrToPtr callback'
+    let userData = castFunPtrToPtr callback'
     let dnotify = safeFreeFunPtrPtr
-    soup_auth_domain_digest_set_auth_callback _obj' callback' user_data dnotify
+    soup_auth_domain_digest_set_auth_callback _obj' callback' userData dnotify
     touchManagedPtr _obj
     return ()
 
+data AuthDomainDigestSetAuthCallbackMethodInfo
+instance (signature ~ (AuthDomainDigestAuthCallback -> m ()), MonadIO m, AuthDomainK a) => MethodInfo AuthDomainDigestSetAuthCallbackMethodInfo a signature where
+    overloadedMethod _ = authDomainDigestSetAuthCallback
+
 -- method AuthDomain::get_realm
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -573,8 +651,8 @@
 
 authDomainGetRealm ::
     (MonadIO m, AuthDomainK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 authDomainGetRealm _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_auth_domain_get_realm _obj'
@@ -583,11 +661,14 @@
     touchManagedPtr _obj
     return result'
 
+data AuthDomainGetRealmMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, AuthDomainK a) => MethodInfo AuthDomainGetRealmMethodInfo a signature where
+    overloadedMethod _ = authDomainGetRealm
+
 -- method AuthDomain::remove_path
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -600,9 +681,9 @@
 
 authDomainRemovePath ::
     (MonadIO m, AuthDomainK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- path
-    m ()
+    a                                       -- _obj
+    -> T.Text                               -- path
+    -> m ()                                 -- result
 authDomainRemovePath _obj path = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     path' <- textToCString path
@@ -611,11 +692,14 @@
     freeMem path'
     return ()
 
+data AuthDomainRemovePathMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, AuthDomainK a) => MethodInfo AuthDomainRemovePathMethodInfo a signature where
+    overloadedMethod _ = authDomainRemovePath
+
 -- method AuthDomain::set_filter
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filter", argType = TInterface "Soup" "AuthDomainFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "filter_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface "Soup" "AuthDomainFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filter", argType = TInterface "Soup" "AuthDomainFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -630,23 +714,26 @@
 
 authDomainSetFilter ::
     (MonadIO m, AuthDomainK a) =>
-    a ->                                    -- _obj
-    AuthDomainFilter ->                     -- filter
-    m ()
+    a                                       -- _obj
+    -> AuthDomainFilter                     -- filter
+    -> m ()                                 -- result
 authDomainSetFilter _obj filter = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     filter' <- mkAuthDomainFilter (authDomainFilterWrapper Nothing filter)
-    let filter_data = castFunPtrToPtr filter'
+    let filterData = castFunPtrToPtr filter'
     let dnotify = safeFreeFunPtrPtr
-    soup_auth_domain_set_filter _obj' filter' filter_data dnotify
+    soup_auth_domain_set_filter _obj' filter' filterData dnotify
     touchManagedPtr _obj
     return ()
 
+data AuthDomainSetFilterMethodInfo
+instance (signature ~ (AuthDomainFilter -> m ()), MonadIO m, AuthDomainK a) => MethodInfo AuthDomainSetFilterMethodInfo a signature where
+    overloadedMethod _ = authDomainSetFilter
+
 -- method AuthDomain::set_generic_auth_callback
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_callback", argType = TInterface "Soup" "AuthDomainGenericAuthCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "auth_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "auth_callback", argType = TInterface "Soup" "AuthDomainGenericAuthCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "auth_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_callback", argType = TInterface "Soup" "AuthDomainGenericAuthCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -661,23 +748,26 @@
 
 authDomainSetGenericAuthCallback ::
     (MonadIO m, AuthDomainK a) =>
-    a ->                                    -- _obj
-    AuthDomainGenericAuthCallback ->        -- auth_callback
-    m ()
-authDomainSetGenericAuthCallback _obj auth_callback = liftIO $ do
+    a                                       -- _obj
+    -> AuthDomainGenericAuthCallback        -- authCallback
+    -> m ()                                 -- result
+authDomainSetGenericAuthCallback _obj authCallback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    auth_callback' <- mkAuthDomainGenericAuthCallback (authDomainGenericAuthCallbackWrapper Nothing auth_callback)
-    let auth_data = castFunPtrToPtr auth_callback'
+    authCallback' <- mkAuthDomainGenericAuthCallback (authDomainGenericAuthCallbackWrapper Nothing authCallback)
+    let authData = castFunPtrToPtr authCallback'
     let dnotify = safeFreeFunPtrPtr
-    soup_auth_domain_set_generic_auth_callback _obj' auth_callback' auth_data dnotify
+    soup_auth_domain_set_generic_auth_callback _obj' authCallback' authData dnotify
     touchManagedPtr _obj
     return ()
 
+data AuthDomainSetGenericAuthCallbackMethodInfo
+instance (signature ~ (AuthDomainGenericAuthCallback -> m ()), MonadIO m, AuthDomainK a) => MethodInfo AuthDomainSetGenericAuthCallbackMethodInfo a signature where
+    overloadedMethod _ = authDomainSetGenericAuthCallback
+
 -- method AuthDomain::try_generic_auth_callback
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -691,10 +781,10 @@
 
 authDomainTryGenericAuthCallback ::
     (MonadIO m, AuthDomainK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    T.Text ->                               -- username
-    m Bool
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> T.Text                               -- username
+    -> m Bool                               -- result
 authDomainTryGenericAuthCallback _obj msg username = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -705,5 +795,9 @@
     touchManagedPtr msg
     freeMem username'
     return result'
+
+data AuthDomainTryGenericAuthCallbackMethodInfo
+instance (signature ~ (b -> T.Text -> m Bool), MonadIO m, AuthDomainK a, MessageK b) => MethodInfo AuthDomainTryGenericAuthCallbackMethodInfo a signature where
+    overloadedMethod _ = authDomainTryGenericAuthCallback
 
 
diff --git a/GI/Soup/Objects/AuthDomain.hs-boot b/GI/Soup/Objects/AuthDomain.hs-boot
--- a/GI/Soup/Objects/AuthDomain.hs-boot
+++ b/GI/Soup/Objects/AuthDomain.hs-boot
@@ -19,3 +19,15 @@
 data AuthDomainProxyPropertyInfo
 data AuthDomainRealmPropertyInfo
 data AuthDomainRemovePathPropertyInfo
+data AuthDomainAcceptsMethodInfo
+data AuthDomainAddPathMethodInfo
+data AuthDomainBasicSetAuthCallbackMethodInfo
+data AuthDomainChallengeMethodInfo
+data AuthDomainCheckPasswordMethodInfo
+data AuthDomainCoversMethodInfo
+data AuthDomainDigestSetAuthCallbackMethodInfo
+data AuthDomainGetRealmMethodInfo
+data AuthDomainRemovePathMethodInfo
+data AuthDomainSetFilterMethodInfo
+data AuthDomainSetGenericAuthCallbackMethodInfo
+data AuthDomainTryGenericAuthCallbackMethodInfo
diff --git a/GI/Soup/Objects/AuthDomainBasic.hs b/GI/Soup/Objects/AuthDomainBasic.hs
--- a/GI/Soup/Objects/AuthDomainBasic.hs
+++ b/GI/Soup/Objects/AuthDomainBasic.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -66,6 +67,51 @@
 noAuthDomainBasic :: Maybe AuthDomainBasic
 noAuthDomainBasic = Nothing
 
+type family ResolveAuthDomainBasicMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAuthDomainBasicMethod "accepts" o = AuthDomainAcceptsMethodInfo
+    ResolveAuthDomainBasicMethod "addPath" o = AuthDomainAddPathMethodInfo
+    ResolveAuthDomainBasicMethod "basicSetAuthCallback" o = AuthDomainBasicSetAuthCallbackMethodInfo
+    ResolveAuthDomainBasicMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveAuthDomainBasicMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveAuthDomainBasicMethod "challenge" o = AuthDomainChallengeMethodInfo
+    ResolveAuthDomainBasicMethod "checkPassword" o = AuthDomainCheckPasswordMethodInfo
+    ResolveAuthDomainBasicMethod "covers" o = AuthDomainCoversMethodInfo
+    ResolveAuthDomainBasicMethod "digestSetAuthCallback" o = AuthDomainDigestSetAuthCallbackMethodInfo
+    ResolveAuthDomainBasicMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveAuthDomainBasicMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveAuthDomainBasicMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveAuthDomainBasicMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveAuthDomainBasicMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveAuthDomainBasicMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveAuthDomainBasicMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveAuthDomainBasicMethod "removePath" o = AuthDomainRemovePathMethodInfo
+    ResolveAuthDomainBasicMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveAuthDomainBasicMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveAuthDomainBasicMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveAuthDomainBasicMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveAuthDomainBasicMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveAuthDomainBasicMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveAuthDomainBasicMethod "tryGenericAuthCallback" o = AuthDomainTryGenericAuthCallbackMethodInfo
+    ResolveAuthDomainBasicMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveAuthDomainBasicMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveAuthDomainBasicMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveAuthDomainBasicMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveAuthDomainBasicMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveAuthDomainBasicMethod "getRealm" o = AuthDomainGetRealmMethodInfo
+    ResolveAuthDomainBasicMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveAuthDomainBasicMethod "setFilter" o = AuthDomainSetFilterMethodInfo
+    ResolveAuthDomainBasicMethod "setGenericAuthCallback" o = AuthDomainSetGenericAuthCallbackMethodInfo
+    ResolveAuthDomainBasicMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveAuthDomainBasicMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAuthDomainBasicMethod t AuthDomainBasic, MethodInfo info AuthDomainBasic p) => IsLabelProxy t (AuthDomainBasic -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAuthDomainBasicMethod t AuthDomainBasic, MethodInfo info AuthDomainBasic p) => IsLabel t (AuthDomainBasic -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- VVV Prop "auth-callback"
    -- Type: TBasicType TVoid
    -- Flags: [PropertyReadable,PropertyWritable]
@@ -85,7 +131,7 @@
     type AttrSetTypeConstraint AuthDomainBasicAuthCallbackPropertyInfo = (~) (Ptr ())
     type AttrBaseTypeConstraint AuthDomainBasicAuthCallbackPropertyInfo = AuthDomainBasicK
     type AttrGetType AuthDomainBasicAuthCallbackPropertyInfo = (Ptr ())
-    type AttrLabel AuthDomainBasicAuthCallbackPropertyInfo = "AuthDomainBasic::auth-callback"
+    type AttrLabel AuthDomainBasicAuthCallbackPropertyInfo = "auth-callback"
     attrGet _ = getAuthDomainBasicAuthCallback
     attrSet _ = setAuthDomainBasicAuthCallback
     attrConstruct _ = constructAuthDomainBasicAuthCallback
@@ -109,15 +155,15 @@
     type AttrSetTypeConstraint AuthDomainBasicAuthDataPropertyInfo = (~) (Ptr ())
     type AttrBaseTypeConstraint AuthDomainBasicAuthDataPropertyInfo = AuthDomainBasicK
     type AttrGetType AuthDomainBasicAuthDataPropertyInfo = (Ptr ())
-    type AttrLabel AuthDomainBasicAuthDataPropertyInfo = "AuthDomainBasic::auth-data"
+    type AttrLabel AuthDomainBasicAuthDataPropertyInfo = "auth-data"
     attrGet _ = getAuthDomainBasicAuthData
     attrSet _ = setAuthDomainBasicAuthData
     attrConstruct _ = constructAuthDomainBasicAuthData
 
 type instance AttributeList AuthDomainBasic = AuthDomainBasicAttributeList
-type AuthDomainBasicAttributeList = ('[ '("add-path", AuthDomainAddPathPropertyInfo), '("auth-callback", AuthDomainBasicAuthCallbackPropertyInfo), '("auth-data", AuthDomainBasicAuthDataPropertyInfo), '("filter", AuthDomainFilterPropertyInfo), '("filter-data", AuthDomainFilterDataPropertyInfo), '("generic-auth-callback", AuthDomainGenericAuthCallbackPropertyInfo), '("generic-auth-data", AuthDomainGenericAuthDataPropertyInfo), '("proxy", AuthDomainProxyPropertyInfo), '("realm", AuthDomainRealmPropertyInfo), '("remove-path", AuthDomainRemovePathPropertyInfo)] :: [(Symbol, *)])
+type AuthDomainBasicAttributeList = ('[ '("addPath", AuthDomainAddPathPropertyInfo), '("authCallback", AuthDomainBasicAuthCallbackPropertyInfo), '("authData", AuthDomainBasicAuthDataPropertyInfo), '("filter", AuthDomainFilterPropertyInfo), '("filterData", AuthDomainFilterDataPropertyInfo), '("genericAuthCallback", AuthDomainGenericAuthCallbackPropertyInfo), '("genericAuthData", AuthDomainGenericAuthDataPropertyInfo), '("proxy", AuthDomainProxyPropertyInfo), '("realm", AuthDomainRealmPropertyInfo), '("removePath", AuthDomainRemovePathPropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList AuthDomainBasic = AuthDomainBasicSignalList
-type AuthDomainBasicSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type AuthDomainBasicSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 
diff --git a/GI/Soup/Objects/AuthDomainDigest.hs b/GI/Soup/Objects/AuthDomainDigest.hs
--- a/GI/Soup/Objects/AuthDomainDigest.hs
+++ b/GI/Soup/Objects/AuthDomainDigest.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -73,6 +74,51 @@
 noAuthDomainDigest :: Maybe AuthDomainDigest
 noAuthDomainDigest = Nothing
 
+type family ResolveAuthDomainDigestMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAuthDomainDigestMethod "accepts" o = AuthDomainAcceptsMethodInfo
+    ResolveAuthDomainDigestMethod "addPath" o = AuthDomainAddPathMethodInfo
+    ResolveAuthDomainDigestMethod "basicSetAuthCallback" o = AuthDomainBasicSetAuthCallbackMethodInfo
+    ResolveAuthDomainDigestMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveAuthDomainDigestMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveAuthDomainDigestMethod "challenge" o = AuthDomainChallengeMethodInfo
+    ResolveAuthDomainDigestMethod "checkPassword" o = AuthDomainCheckPasswordMethodInfo
+    ResolveAuthDomainDigestMethod "covers" o = AuthDomainCoversMethodInfo
+    ResolveAuthDomainDigestMethod "digestSetAuthCallback" o = AuthDomainDigestSetAuthCallbackMethodInfo
+    ResolveAuthDomainDigestMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveAuthDomainDigestMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveAuthDomainDigestMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveAuthDomainDigestMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveAuthDomainDigestMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveAuthDomainDigestMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveAuthDomainDigestMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveAuthDomainDigestMethod "removePath" o = AuthDomainRemovePathMethodInfo
+    ResolveAuthDomainDigestMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveAuthDomainDigestMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveAuthDomainDigestMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveAuthDomainDigestMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveAuthDomainDigestMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveAuthDomainDigestMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveAuthDomainDigestMethod "tryGenericAuthCallback" o = AuthDomainTryGenericAuthCallbackMethodInfo
+    ResolveAuthDomainDigestMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveAuthDomainDigestMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveAuthDomainDigestMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveAuthDomainDigestMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveAuthDomainDigestMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveAuthDomainDigestMethod "getRealm" o = AuthDomainGetRealmMethodInfo
+    ResolveAuthDomainDigestMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveAuthDomainDigestMethod "setFilter" o = AuthDomainSetFilterMethodInfo
+    ResolveAuthDomainDigestMethod "setGenericAuthCallback" o = AuthDomainSetGenericAuthCallbackMethodInfo
+    ResolveAuthDomainDigestMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveAuthDomainDigestMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAuthDomainDigestMethod t AuthDomainDigest, MethodInfo info AuthDomainDigest p) => IsLabelProxy t (AuthDomainDigest -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAuthDomainDigestMethod t AuthDomainDigest, MethodInfo info AuthDomainDigest p) => IsLabel t (AuthDomainDigest -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- VVV Prop "auth-callback"
    -- Type: TBasicType TVoid
    -- Flags: [PropertyReadable,PropertyWritable]
@@ -92,7 +138,7 @@
     type AttrSetTypeConstraint AuthDomainDigestAuthCallbackPropertyInfo = (~) (Ptr ())
     type AttrBaseTypeConstraint AuthDomainDigestAuthCallbackPropertyInfo = AuthDomainDigestK
     type AttrGetType AuthDomainDigestAuthCallbackPropertyInfo = (Ptr ())
-    type AttrLabel AuthDomainDigestAuthCallbackPropertyInfo = "AuthDomainDigest::auth-callback"
+    type AttrLabel AuthDomainDigestAuthCallbackPropertyInfo = "auth-callback"
     attrGet _ = getAuthDomainDigestAuthCallback
     attrSet _ = setAuthDomainDigestAuthCallback
     attrConstruct _ = constructAuthDomainDigestAuthCallback
@@ -116,22 +162,21 @@
     type AttrSetTypeConstraint AuthDomainDigestAuthDataPropertyInfo = (~) (Ptr ())
     type AttrBaseTypeConstraint AuthDomainDigestAuthDataPropertyInfo = AuthDomainDigestK
     type AttrGetType AuthDomainDigestAuthDataPropertyInfo = (Ptr ())
-    type AttrLabel AuthDomainDigestAuthDataPropertyInfo = "AuthDomainDigest::auth-data"
+    type AttrLabel AuthDomainDigestAuthDataPropertyInfo = "auth-data"
     attrGet _ = getAuthDomainDigestAuthData
     attrSet _ = setAuthDomainDigestAuthData
     attrConstruct _ = constructAuthDomainDigestAuthData
 
 type instance AttributeList AuthDomainDigest = AuthDomainDigestAttributeList
-type AuthDomainDigestAttributeList = ('[ '("add-path", AuthDomainAddPathPropertyInfo), '("auth-callback", AuthDomainDigestAuthCallbackPropertyInfo), '("auth-data", AuthDomainDigestAuthDataPropertyInfo), '("filter", AuthDomainFilterPropertyInfo), '("filter-data", AuthDomainFilterDataPropertyInfo), '("generic-auth-callback", AuthDomainGenericAuthCallbackPropertyInfo), '("generic-auth-data", AuthDomainGenericAuthDataPropertyInfo), '("proxy", AuthDomainProxyPropertyInfo), '("realm", AuthDomainRealmPropertyInfo), '("remove-path", AuthDomainRemovePathPropertyInfo)] :: [(Symbol, *)])
+type AuthDomainDigestAttributeList = ('[ '("addPath", AuthDomainAddPathPropertyInfo), '("authCallback", AuthDomainDigestAuthCallbackPropertyInfo), '("authData", AuthDomainDigestAuthDataPropertyInfo), '("filter", AuthDomainFilterPropertyInfo), '("filterData", AuthDomainFilterDataPropertyInfo), '("genericAuthCallback", AuthDomainGenericAuthCallbackPropertyInfo), '("genericAuthData", AuthDomainGenericAuthDataPropertyInfo), '("proxy", AuthDomainProxyPropertyInfo), '("realm", AuthDomainRealmPropertyInfo), '("removePath", AuthDomainRemovePathPropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList AuthDomainDigest = AuthDomainDigestSignalList
-type AuthDomainDigestSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type AuthDomainDigestSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method AuthDomainDigest::encode_password
 -- method type : MemberFunction
--- Args : [Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "realm", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "realm", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "realm", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -145,10 +190,10 @@
 
 authDomainDigestEncodePassword ::
     (MonadIO m) =>
-    T.Text ->                               -- username
-    T.Text ->                               -- realm
-    T.Text ->                               -- password
-    m T.Text
+    T.Text                                  -- username
+    -> T.Text                               -- realm
+    -> T.Text                               -- password
+    -> m T.Text                             -- result
 authDomainDigestEncodePassword username realm password = liftIO $ do
     username' <- textToCString username
     realm' <- textToCString realm
diff --git a/GI/Soup/Objects/AuthManager.hs b/GI/Soup/Objects/AuthManager.hs
--- a/GI/Soup/Objects/AuthManager.hs
+++ b/GI/Soup/Objects/AuthManager.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
 -- ** authManagerUseAuth
+    AuthManagerUseAuthMethodInfo            ,
     authManagerUseAuth                      ,
 
 
@@ -71,6 +73,45 @@
 noAuthManager :: Maybe AuthManager
 noAuthManager = Nothing
 
+type family ResolveAuthManagerMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAuthManagerMethod "addFeature" o = SessionFeatureAddFeatureMethodInfo
+    ResolveAuthManagerMethod "attach" o = SessionFeatureAttachMethodInfo
+    ResolveAuthManagerMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveAuthManagerMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveAuthManagerMethod "detach" o = SessionFeatureDetachMethodInfo
+    ResolveAuthManagerMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveAuthManagerMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveAuthManagerMethod "hasFeature" o = SessionFeatureHasFeatureMethodInfo
+    ResolveAuthManagerMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveAuthManagerMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveAuthManagerMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveAuthManagerMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveAuthManagerMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveAuthManagerMethod "removeFeature" o = SessionFeatureRemoveFeatureMethodInfo
+    ResolveAuthManagerMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveAuthManagerMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveAuthManagerMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveAuthManagerMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveAuthManagerMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveAuthManagerMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveAuthManagerMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveAuthManagerMethod "useAuth" o = AuthManagerUseAuthMethodInfo
+    ResolveAuthManagerMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveAuthManagerMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveAuthManagerMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveAuthManagerMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveAuthManagerMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveAuthManagerMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveAuthManagerMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAuthManagerMethod t AuthManager, MethodInfo info AuthManager p) => IsLabelProxy t (AuthManager -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAuthManagerMethod t AuthManager, MethodInfo info AuthManager p) => IsLabel t (AuthManager -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal AuthManager::authenticate
 type AuthManagerAuthenticateCallback =
     Message ->
@@ -130,13 +171,12 @@
     connectSignal _ = connectAuthManagerAuthenticate
 
 type instance SignalList AuthManager = AuthManagerSignalList
-type AuthManagerSignalList = ('[ '("authenticate", AuthManagerAuthenticateSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type AuthManagerSignalList = ('[ '("authenticate", AuthManagerAuthenticateSignalInfo), '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method AuthManager::use_auth
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "AuthManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "auth", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -150,10 +190,10 @@
 
 authManagerUseAuth ::
     (MonadIO m, AuthManagerK a, AuthK b) =>
-    a ->                                    -- _obj
-    URI ->                                  -- uri
-    b ->                                    -- auth
-    m ()
+    a                                       -- _obj
+    -> URI                                  -- uri
+    -> b                                    -- auth
+    -> m ()                                 -- result
 authManagerUseAuth _obj uri auth = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let uri' = unsafeManagedPtrGetPtr uri
@@ -163,5 +203,9 @@
     touchManagedPtr uri
     touchManagedPtr auth
     return ()
+
+data AuthManagerUseAuthMethodInfo
+instance (signature ~ (URI -> b -> m ()), MonadIO m, AuthManagerK a, AuthK b) => MethodInfo AuthManagerUseAuthMethodInfo a signature where
+    overloadedMethod _ = authManagerUseAuth
 
 
diff --git a/GI/Soup/Objects/AuthManager.hs-boot b/GI/Soup/Objects/AuthManager.hs-boot
--- a/GI/Soup/Objects/AuthManager.hs-boot
+++ b/GI/Soup/Objects/AuthManager.hs-boot
@@ -12,3 +12,4 @@
 class GObject o => AuthManagerK o
 instance (GObject o, IsDescendantOf AuthManager o) => AuthManagerK o
 data AuthManagerAuthenticateSignalInfo
+data AuthManagerUseAuthMethodInfo
diff --git a/GI/Soup/Objects/AuthNTLM.hs b/GI/Soup/Objects/AuthNTLM.hs
--- a/GI/Soup/Objects/AuthNTLM.hs
+++ b/GI/Soup/Objects/AuthNTLM.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -49,10 +50,58 @@
 noAuthNTLM :: Maybe AuthNTLM
 noAuthNTLM = Nothing
 
+type family ResolveAuthNTLMMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAuthNTLMMethod "authenticate" o = AuthAuthenticateMethodInfo
+    ResolveAuthNTLMMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveAuthNTLMMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveAuthNTLMMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveAuthNTLMMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveAuthNTLMMethod "hasSavedPassword" o = AuthHasSavedPasswordMethodInfo
+    ResolveAuthNTLMMethod "isAuthenticated" o = AuthIsAuthenticatedMethodInfo
+    ResolveAuthNTLMMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveAuthNTLMMethod "isForProxy" o = AuthIsForProxyMethodInfo
+    ResolveAuthNTLMMethod "isReady" o = AuthIsReadyMethodInfo
+    ResolveAuthNTLMMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveAuthNTLMMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveAuthNTLMMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveAuthNTLMMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveAuthNTLMMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveAuthNTLMMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveAuthNTLMMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveAuthNTLMMethod "savePassword" o = AuthSavePasswordMethodInfo
+    ResolveAuthNTLMMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveAuthNTLMMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveAuthNTLMMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveAuthNTLMMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveAuthNTLMMethod "update" o = AuthUpdateMethodInfo
+    ResolveAuthNTLMMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveAuthNTLMMethod "getAuthorization" o = AuthGetAuthorizationMethodInfo
+    ResolveAuthNTLMMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveAuthNTLMMethod "getHost" o = AuthGetHostMethodInfo
+    ResolveAuthNTLMMethod "getInfo" o = AuthGetInfoMethodInfo
+    ResolveAuthNTLMMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveAuthNTLMMethod "getProtectionSpace" o = AuthGetProtectionSpaceMethodInfo
+    ResolveAuthNTLMMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveAuthNTLMMethod "getRealm" o = AuthGetRealmMethodInfo
+    ResolveAuthNTLMMethod "getSavedPassword" o = AuthGetSavedPasswordMethodInfo
+    ResolveAuthNTLMMethod "getSavedUsers" o = AuthGetSavedUsersMethodInfo
+    ResolveAuthNTLMMethod "getSchemeName" o = AuthGetSchemeNameMethodInfo
+    ResolveAuthNTLMMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveAuthNTLMMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveAuthNTLMMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAuthNTLMMethod t AuthNTLM, MethodInfo info AuthNTLM p) => IsLabelProxy t (AuthNTLM -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAuthNTLMMethod t AuthNTLM, MethodInfo info AuthNTLM p) => IsLabel t (AuthNTLM -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList AuthNTLM = AuthNTLMAttributeList
-type AuthNTLMAttributeList = ('[ '("host", AuthHostPropertyInfo), '("is-authenticated", AuthIsAuthenticatedPropertyInfo), '("is-for-proxy", AuthIsForProxyPropertyInfo), '("realm", AuthRealmPropertyInfo), '("scheme-name", AuthSchemeNamePropertyInfo)] :: [(Symbol, *)])
+type AuthNTLMAttributeList = ('[ '("host", AuthHostPropertyInfo), '("isAuthenticated", AuthIsAuthenticatedPropertyInfo), '("isForProxy", AuthIsForProxyPropertyInfo), '("realm", AuthRealmPropertyInfo), '("schemeName", AuthSchemeNamePropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList AuthNTLM = AuthNTLMSignalList
-type AuthNTLMSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type AuthNTLMSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 
diff --git a/GI/Soup/Objects/Cache.hs b/GI/Soup/Objects/Cache.hs
--- a/GI/Soup/Objects/Cache.hs
+++ b/GI/Soup/Objects/Cache.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,22 +18,27 @@
 
  -- * Methods
 -- ** cacheClear
+    CacheClearMethodInfo                    ,
     cacheClear                              ,
 
 
 -- ** cacheDump
+    CacheDumpMethodInfo                     ,
     cacheDump                               ,
 
 
 -- ** cacheFlush
+    CacheFlushMethodInfo                    ,
     cacheFlush                              ,
 
 
 -- ** cacheGetMaxSize
+    CacheGetMaxSizeMethodInfo               ,
     cacheGetMaxSize                         ,
 
 
 -- ** cacheLoad
+    CacheLoadMethodInfo                     ,
     cacheLoad                               ,
 
 
@@ -41,6 +47,7 @@
 
 
 -- ** cacheSetMaxSize
+    CacheSetMaxSizeMethodInfo               ,
     cacheSetMaxSize                         ,
 
 
@@ -95,6 +102,50 @@
 noCache :: Maybe Cache
 noCache = Nothing
 
+type family ResolveCacheMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCacheMethod "addFeature" o = SessionFeatureAddFeatureMethodInfo
+    ResolveCacheMethod "attach" o = SessionFeatureAttachMethodInfo
+    ResolveCacheMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveCacheMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveCacheMethod "clear" o = CacheClearMethodInfo
+    ResolveCacheMethod "detach" o = SessionFeatureDetachMethodInfo
+    ResolveCacheMethod "dump" o = CacheDumpMethodInfo
+    ResolveCacheMethod "flush" o = CacheFlushMethodInfo
+    ResolveCacheMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveCacheMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveCacheMethod "hasFeature" o = SessionFeatureHasFeatureMethodInfo
+    ResolveCacheMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveCacheMethod "load" o = CacheLoadMethodInfo
+    ResolveCacheMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveCacheMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveCacheMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveCacheMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveCacheMethod "removeFeature" o = SessionFeatureRemoveFeatureMethodInfo
+    ResolveCacheMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveCacheMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveCacheMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveCacheMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveCacheMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveCacheMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveCacheMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveCacheMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveCacheMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveCacheMethod "getMaxSize" o = CacheGetMaxSizeMethodInfo
+    ResolveCacheMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveCacheMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveCacheMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveCacheMethod "setMaxSize" o = CacheSetMaxSizeMethodInfo
+    ResolveCacheMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveCacheMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveCacheMethod t Cache, MethodInfo info Cache p) => IsLabelProxy t (Cache -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveCacheMethod t Cache, MethodInfo info Cache p) => IsLabel t (Cache -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- VVV Prop "cache-dir"
    -- Type: TBasicType TUTF8
    -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
@@ -111,7 +162,7 @@
     type AttrSetTypeConstraint CacheCacheDirPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint CacheCacheDirPropertyInfo = CacheK
     type AttrGetType CacheCacheDirPropertyInfo = T.Text
-    type AttrLabel CacheCacheDirPropertyInfo = "Cache::cache-dir"
+    type AttrLabel CacheCacheDirPropertyInfo = "cache-dir"
     attrGet _ = getCacheCacheDir
     attrSet _ = undefined
     attrConstruct _ = constructCacheCacheDir
@@ -132,22 +183,21 @@
     type AttrSetTypeConstraint CacheCacheTypePropertyInfo = (~) CacheType
     type AttrBaseTypeConstraint CacheCacheTypePropertyInfo = CacheK
     type AttrGetType CacheCacheTypePropertyInfo = CacheType
-    type AttrLabel CacheCacheTypePropertyInfo = "Cache::cache-type"
+    type AttrLabel CacheCacheTypePropertyInfo = "cache-type"
     attrGet _ = getCacheCacheType
     attrSet _ = undefined
     attrConstruct _ = constructCacheCacheType
 
 type instance AttributeList Cache = CacheAttributeList
-type CacheAttributeList = ('[ '("cache-dir", CacheCacheDirPropertyInfo), '("cache-type", CacheCacheTypePropertyInfo)] :: [(Symbol, *)])
+type CacheAttributeList = ('[ '("cacheDir", CacheCacheDirPropertyInfo), '("cacheType", CacheCacheTypePropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList Cache = CacheSignalList
-type CacheSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type CacheSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Cache::new
 -- method type : Constructor
--- Args : [Arg {argName = "cache_dir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cache_type", argType = TInterface "Soup" "CacheType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "cache_dir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cache_type", argType = TInterface "Soup" "CacheType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "cache_dir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cache_type", argType = TInterface "Soup" "CacheType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Cache"
 -- throws : False
 -- Skip return : False
@@ -160,23 +210,22 @@
 
 cacheNew ::
     (MonadIO m) =>
-    T.Text ->                               -- cache_dir
-    CacheType ->                            -- cache_type
-    m Cache
-cacheNew cache_dir cache_type = liftIO $ do
-    cache_dir' <- textToCString cache_dir
-    let cache_type' = (fromIntegral . fromEnum) cache_type
-    result <- soup_cache_new cache_dir' cache_type'
+    T.Text                                  -- cacheDir
+    -> CacheType                            -- cacheType
+    -> m Cache                              -- result
+cacheNew cacheDir cacheType = liftIO $ do
+    cacheDir' <- textToCString cacheDir
+    let cacheType' = (fromIntegral . fromEnum) cacheType
+    result <- soup_cache_new cacheDir' cacheType'
     checkUnexpectedReturnNULL "soup_cache_new" result
     result' <- (wrapObject Cache) result
-    freeMem cache_dir'
+    freeMem cacheDir'
     return result'
 
 -- method Cache::clear
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -188,19 +237,22 @@
 
 cacheClear ::
     (MonadIO m, CacheK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 cacheClear _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_cache_clear _obj'
     touchManagedPtr _obj
     return ()
 
+data CacheClearMethodInfo
+instance (signature ~ (m ()), MonadIO m, CacheK a) => MethodInfo CacheClearMethodInfo a signature where
+    overloadedMethod _ = cacheClear
+
 -- method Cache::dump
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -212,19 +264,22 @@
 
 cacheDump ::
     (MonadIO m, CacheK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 cacheDump _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_cache_dump _obj'
     touchManagedPtr _obj
     return ()
 
+data CacheDumpMethodInfo
+instance (signature ~ (m ()), MonadIO m, CacheK a) => MethodInfo CacheDumpMethodInfo a signature where
+    overloadedMethod _ = cacheDump
+
 -- method Cache::flush
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -236,19 +291,22 @@
 
 cacheFlush ::
     (MonadIO m, CacheK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 cacheFlush _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_cache_flush _obj'
     touchManagedPtr _obj
     return ()
 
+data CacheFlushMethodInfo
+instance (signature ~ (m ()), MonadIO m, CacheK a) => MethodInfo CacheFlushMethodInfo a signature where
+    overloadedMethod _ = cacheFlush
+
 -- method Cache::get_max_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -260,19 +318,22 @@
 
 cacheGetMaxSize ::
     (MonadIO m, CacheK a) =>
-    a ->                                    -- _obj
-    m Word32
+    a                                       -- _obj
+    -> m Word32                             -- result
 cacheGetMaxSize _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_cache_get_max_size _obj'
     touchManagedPtr _obj
     return result
 
+data CacheGetMaxSizeMethodInfo
+instance (signature ~ (m Word32), MonadIO m, CacheK a) => MethodInfo CacheGetMaxSizeMethodInfo a signature where
+    overloadedMethod _ = cacheGetMaxSize
+
 -- method Cache::load
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -284,19 +345,22 @@
 
 cacheLoad ::
     (MonadIO m, CacheK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 cacheLoad _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_cache_load _obj'
     touchManagedPtr _obj
     return ()
 
+data CacheLoadMethodInfo
+instance (signature ~ (m ()), MonadIO m, CacheK a) => MethodInfo CacheLoadMethodInfo a signature where
+    overloadedMethod _ = cacheLoad
+
 -- method Cache::set_max_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_size", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_size", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_size", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -309,13 +373,17 @@
 
 cacheSetMaxSize ::
     (MonadIO m, CacheK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- max_size
-    m ()
-cacheSetMaxSize _obj max_size = liftIO $ do
+    a                                       -- _obj
+    -> Word32                               -- maxSize
+    -> m ()                                 -- result
+cacheSetMaxSize _obj maxSize = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    soup_cache_set_max_size _obj' max_size
+    soup_cache_set_max_size _obj' maxSize
     touchManagedPtr _obj
     return ()
+
+data CacheSetMaxSizeMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, CacheK a) => MethodInfo CacheSetMaxSizeMethodInfo a signature where
+    overloadedMethod _ = cacheSetMaxSize
 
 
diff --git a/GI/Soup/Objects/Cache.hs-boot b/GI/Soup/Objects/Cache.hs-boot
--- a/GI/Soup/Objects/Cache.hs-boot
+++ b/GI/Soup/Objects/Cache.hs-boot
@@ -13,3 +13,9 @@
 instance (GObject o, IsDescendantOf Cache o) => CacheK o
 data CacheCacheDirPropertyInfo
 data CacheCacheTypePropertyInfo
+data CacheClearMethodInfo
+data CacheDumpMethodInfo
+data CacheFlushMethodInfo
+data CacheGetMaxSizeMethodInfo
+data CacheLoadMethodInfo
+data CacheSetMaxSizeMethodInfo
diff --git a/GI/Soup/Objects/ContentDecoder.hs b/GI/Soup/Objects/ContentDecoder.hs
--- a/GI/Soup/Objects/ContentDecoder.hs
+++ b/GI/Soup/Objects/ContentDecoder.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -49,10 +50,48 @@
 noContentDecoder :: Maybe ContentDecoder
 noContentDecoder = Nothing
 
+type family ResolveContentDecoderMethod (t :: Symbol) (o :: *) :: * where
+    ResolveContentDecoderMethod "addFeature" o = SessionFeatureAddFeatureMethodInfo
+    ResolveContentDecoderMethod "attach" o = SessionFeatureAttachMethodInfo
+    ResolveContentDecoderMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveContentDecoderMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveContentDecoderMethod "detach" o = SessionFeatureDetachMethodInfo
+    ResolveContentDecoderMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveContentDecoderMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveContentDecoderMethod "hasFeature" o = SessionFeatureHasFeatureMethodInfo
+    ResolveContentDecoderMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveContentDecoderMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveContentDecoderMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveContentDecoderMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveContentDecoderMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveContentDecoderMethod "removeFeature" o = SessionFeatureRemoveFeatureMethodInfo
+    ResolveContentDecoderMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveContentDecoderMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveContentDecoderMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveContentDecoderMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveContentDecoderMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveContentDecoderMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveContentDecoderMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveContentDecoderMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveContentDecoderMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveContentDecoderMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveContentDecoderMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveContentDecoderMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveContentDecoderMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveContentDecoderMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveContentDecoderMethod t ContentDecoder, MethodInfo info ContentDecoder p) => IsLabelProxy t (ContentDecoder -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveContentDecoderMethod t ContentDecoder, MethodInfo info ContentDecoder p) => IsLabel t (ContentDecoder -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList ContentDecoder = ContentDecoderAttributeList
 type ContentDecoderAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList ContentDecoder = ContentDecoderSignalList
-type ContentDecoderSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type ContentDecoderSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 
diff --git a/GI/Soup/Objects/ContentSniffer.hs b/GI/Soup/Objects/ContentSniffer.hs
--- a/GI/Soup/Objects/ContentSniffer.hs
+++ b/GI/Soup/Objects/ContentSniffer.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
 -- ** contentSnifferGetBufferSize
+    ContentSnifferGetBufferSizeMethodInfo   ,
     contentSnifferGetBufferSize             ,
 
 
@@ -25,6 +27,7 @@
 
 
 -- ** contentSnifferSniff
+    ContentSnifferSniffMethodInfo           ,
     contentSnifferSniff                     ,
 
 
@@ -64,17 +67,56 @@
 noContentSniffer :: Maybe ContentSniffer
 noContentSniffer = Nothing
 
+type family ResolveContentSnifferMethod (t :: Symbol) (o :: *) :: * where
+    ResolveContentSnifferMethod "addFeature" o = SessionFeatureAddFeatureMethodInfo
+    ResolveContentSnifferMethod "attach" o = SessionFeatureAttachMethodInfo
+    ResolveContentSnifferMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveContentSnifferMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveContentSnifferMethod "detach" o = SessionFeatureDetachMethodInfo
+    ResolveContentSnifferMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveContentSnifferMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveContentSnifferMethod "hasFeature" o = SessionFeatureHasFeatureMethodInfo
+    ResolveContentSnifferMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveContentSnifferMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveContentSnifferMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveContentSnifferMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveContentSnifferMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveContentSnifferMethod "removeFeature" o = SessionFeatureRemoveFeatureMethodInfo
+    ResolveContentSnifferMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveContentSnifferMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveContentSnifferMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveContentSnifferMethod "sniff" o = ContentSnifferSniffMethodInfo
+    ResolveContentSnifferMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveContentSnifferMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveContentSnifferMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveContentSnifferMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveContentSnifferMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveContentSnifferMethod "getBufferSize" o = ContentSnifferGetBufferSizeMethodInfo
+    ResolveContentSnifferMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveContentSnifferMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveContentSnifferMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveContentSnifferMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveContentSnifferMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveContentSnifferMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveContentSnifferMethod t ContentSniffer, MethodInfo info ContentSniffer p) => IsLabelProxy t (ContentSniffer -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveContentSnifferMethod t ContentSniffer, MethodInfo info ContentSniffer p) => IsLabel t (ContentSniffer -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList ContentSniffer = ContentSnifferAttributeList
 type ContentSnifferAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList ContentSniffer = ContentSnifferSignalList
-type ContentSnifferSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type ContentSnifferSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method ContentSniffer::new
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Soup" "ContentSniffer"
 -- throws : False
 -- Skip return : False
@@ -85,7 +127,7 @@
 
 contentSnifferNew ::
     (MonadIO m) =>
-    m ContentSniffer
+    m ContentSniffer                        -- result
 contentSnifferNew  = liftIO $ do
     result <- soup_content_sniffer_new
     checkUnexpectedReturnNULL "soup_content_sniffer_new" result
@@ -94,9 +136,8 @@
 
 -- method ContentSniffer::get_buffer_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ContentSniffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "ContentSniffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ContentSniffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt64
 -- throws : False
 -- Skip return : False
@@ -108,19 +149,22 @@
 
 contentSnifferGetBufferSize ::
     (MonadIO m, ContentSnifferK a) =>
-    a ->                                    -- _obj
-    m Word64
+    a                                       -- _obj
+    -> m Word64                             -- result
 contentSnifferGetBufferSize _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_content_sniffer_get_buffer_size _obj'
     touchManagedPtr _obj
     return result
 
+data ContentSnifferGetBufferSizeMethodInfo
+instance (signature ~ (m Word64), MonadIO m, ContentSnifferK a) => MethodInfo ContentSnifferGetBufferSizeMethodInfo a signature where
+    overloadedMethod _ = contentSnifferGetBufferSize
+
 -- method ContentSniffer::sniff
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ContentSniffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "ContentSniffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ContentSniffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -135,10 +179,10 @@
 
 contentSnifferSniff ::
     (MonadIO m, ContentSnifferK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    Buffer ->                               -- buffer
-    m (T.Text,(Map.Map T.Text T.Text))
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> Buffer                               -- buffer
+    -> m (T.Text,(Map.Map T.Text T.Text))   -- result
 contentSnifferSniff _obj msg buffer = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -161,5 +205,9 @@
     touchManagedPtr buffer
     freeMem params
     return (result', params''''''')
+
+data ContentSnifferSniffMethodInfo
+instance (signature ~ (b -> Buffer -> m (T.Text,(Map.Map T.Text T.Text))), MonadIO m, ContentSnifferK a, MessageK b) => MethodInfo ContentSnifferSniffMethodInfo a signature where
+    overloadedMethod _ = contentSnifferSniff
 
 
diff --git a/GI/Soup/Objects/ContentSniffer.hs-boot b/GI/Soup/Objects/ContentSniffer.hs-boot
--- a/GI/Soup/Objects/ContentSniffer.hs-boot
+++ b/GI/Soup/Objects/ContentSniffer.hs-boot
@@ -11,3 +11,5 @@
 instance GObject ContentSniffer where
 class GObject o => ContentSnifferK o
 instance (GObject o, IsDescendantOf ContentSniffer o) => ContentSnifferK o
+data ContentSnifferGetBufferSizeMethodInfo
+data ContentSnifferSniffMethodInfo
diff --git a/GI/Soup/Objects/CookieJar.hs b/GI/Soup/Objects/CookieJar.hs
--- a/GI/Soup/Objects/CookieJar.hs
+++ b/GI/Soup/Objects/CookieJar.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,34 +18,42 @@
 
  -- * Methods
 -- ** cookieJarAddCookie
+    CookieJarAddCookieMethodInfo            ,
     cookieJarAddCookie                      ,
 
 
 -- ** cookieJarAddCookieWithFirstParty
+    CookieJarAddCookieWithFirstPartyMethodInfo,
     cookieJarAddCookieWithFirstParty        ,
 
 
 -- ** cookieJarAllCookies
+    CookieJarAllCookiesMethodInfo           ,
     cookieJarAllCookies                     ,
 
 
 -- ** cookieJarDeleteCookie
+    CookieJarDeleteCookieMethodInfo         ,
     cookieJarDeleteCookie                   ,
 
 
 -- ** cookieJarGetAcceptPolicy
+    CookieJarGetAcceptPolicyMethodInfo      ,
     cookieJarGetAcceptPolicy                ,
 
 
 -- ** cookieJarGetCookieList
+    CookieJarGetCookieListMethodInfo        ,
     cookieJarGetCookieList                  ,
 
 
 -- ** cookieJarGetCookies
+    CookieJarGetCookiesMethodInfo           ,
     cookieJarGetCookies                     ,
 
 
 -- ** cookieJarIsPersistent
+    CookieJarIsPersistentMethodInfo         ,
     cookieJarIsPersistent                   ,
 
 
@@ -53,18 +62,22 @@
 
 
 -- ** cookieJarSave
+    CookieJarSaveMethodInfo                 ,
     cookieJarSave                           ,
 
 
 -- ** cookieJarSetAcceptPolicy
+    CookieJarSetAcceptPolicyMethodInfo      ,
     cookieJarSetAcceptPolicy                ,
 
 
 -- ** cookieJarSetCookie
+    CookieJarSetCookieMethodInfo            ,
     cookieJarSetCookie                      ,
 
 
 -- ** cookieJarSetCookieWithFirstParty
+    CookieJarSetCookieWithFirstPartyMethodInfo,
     cookieJarSetCookieWithFirstParty        ,
 
 
@@ -135,6 +148,56 @@
 noCookieJar :: Maybe CookieJar
 noCookieJar = Nothing
 
+type family ResolveCookieJarMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCookieJarMethod "addCookie" o = CookieJarAddCookieMethodInfo
+    ResolveCookieJarMethod "addCookieWithFirstParty" o = CookieJarAddCookieWithFirstPartyMethodInfo
+    ResolveCookieJarMethod "addFeature" o = SessionFeatureAddFeatureMethodInfo
+    ResolveCookieJarMethod "allCookies" o = CookieJarAllCookiesMethodInfo
+    ResolveCookieJarMethod "attach" o = SessionFeatureAttachMethodInfo
+    ResolveCookieJarMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveCookieJarMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveCookieJarMethod "deleteCookie" o = CookieJarDeleteCookieMethodInfo
+    ResolveCookieJarMethod "detach" o = SessionFeatureDetachMethodInfo
+    ResolveCookieJarMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveCookieJarMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveCookieJarMethod "hasFeature" o = SessionFeatureHasFeatureMethodInfo
+    ResolveCookieJarMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveCookieJarMethod "isPersistent" o = CookieJarIsPersistentMethodInfo
+    ResolveCookieJarMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveCookieJarMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveCookieJarMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveCookieJarMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveCookieJarMethod "removeFeature" o = SessionFeatureRemoveFeatureMethodInfo
+    ResolveCookieJarMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveCookieJarMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveCookieJarMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveCookieJarMethod "save" o = CookieJarSaveMethodInfo
+    ResolveCookieJarMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveCookieJarMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveCookieJarMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveCookieJarMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveCookieJarMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveCookieJarMethod "getAcceptPolicy" o = CookieJarGetAcceptPolicyMethodInfo
+    ResolveCookieJarMethod "getCookieList" o = CookieJarGetCookieListMethodInfo
+    ResolveCookieJarMethod "getCookies" o = CookieJarGetCookiesMethodInfo
+    ResolveCookieJarMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveCookieJarMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveCookieJarMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveCookieJarMethod "setAcceptPolicy" o = CookieJarSetAcceptPolicyMethodInfo
+    ResolveCookieJarMethod "setCookie" o = CookieJarSetCookieMethodInfo
+    ResolveCookieJarMethod "setCookieWithFirstParty" o = CookieJarSetCookieWithFirstPartyMethodInfo
+    ResolveCookieJarMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveCookieJarMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveCookieJarMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveCookieJarMethod t CookieJar, MethodInfo info CookieJar p) => IsLabelProxy t (CookieJar -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveCookieJarMethod t CookieJar, MethodInfo info CookieJar p) => IsLabel t (CookieJar -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal CookieJar::changed
 type CookieJarChangedCallback =
     Cookie ->
@@ -165,10 +228,10 @@
     Ptr Cookie ->
     Ptr () ->
     IO ()
-cookieJarChangedCallbackWrapper _cb _ old_cookie new_cookie _ = do
-    old_cookie' <- (newBoxed Cookie) old_cookie
-    new_cookie' <- (newBoxed Cookie) new_cookie
-    _cb  old_cookie' new_cookie'
+cookieJarChangedCallbackWrapper _cb _ oldCookie newCookie _ = do
+    oldCookie' <- (newBoxed Cookie) oldCookie
+    newCookie' <- (newBoxed Cookie) newCookie
+    _cb  oldCookie' newCookie'
 
 onCookieJarChanged :: (GObject a, MonadIO m) => a -> CookieJarChangedCallback -> m SignalHandlerId
 onCookieJarChanged obj cb = liftIO $ connectCookieJarChanged obj cb SignalConnectBefore
@@ -200,7 +263,7 @@
     type AttrSetTypeConstraint CookieJarAcceptPolicyPropertyInfo = (~) CookieJarAcceptPolicy
     type AttrBaseTypeConstraint CookieJarAcceptPolicyPropertyInfo = CookieJarK
     type AttrGetType CookieJarAcceptPolicyPropertyInfo = CookieJarAcceptPolicy
-    type AttrLabel CookieJarAcceptPolicyPropertyInfo = "CookieJar::accept-policy"
+    type AttrLabel CookieJarAcceptPolicyPropertyInfo = "accept-policy"
     attrGet _ = getCookieJarAcceptPolicy
     attrSet _ = setCookieJarAcceptPolicy
     attrConstruct _ = constructCookieJarAcceptPolicy
@@ -221,13 +284,13 @@
     type AttrSetTypeConstraint CookieJarReadOnlyPropertyInfo = (~) Bool
     type AttrBaseTypeConstraint CookieJarReadOnlyPropertyInfo = CookieJarK
     type AttrGetType CookieJarReadOnlyPropertyInfo = Bool
-    type AttrLabel CookieJarReadOnlyPropertyInfo = "CookieJar::read-only"
+    type AttrLabel CookieJarReadOnlyPropertyInfo = "read-only"
     attrGet _ = getCookieJarReadOnly
     attrSet _ = undefined
     attrConstruct _ = constructCookieJarReadOnly
 
 type instance AttributeList CookieJar = CookieJarAttributeList
-type CookieJarAttributeList = ('[ '("accept-policy", CookieJarAcceptPolicyPropertyInfo), '("read-only", CookieJarReadOnlyPropertyInfo)] :: [(Symbol, *)])
+type CookieJarAttributeList = ('[ '("acceptPolicy", CookieJarAcceptPolicyPropertyInfo), '("readOnly", CookieJarReadOnlyPropertyInfo)] :: [(Symbol, *)])
 
 data CookieJarChangedSignalInfo
 instance SignalInfo CookieJarChangedSignalInfo where
@@ -235,13 +298,12 @@
     connectSignal _ = connectCookieJarChanged
 
 type instance SignalList CookieJar = CookieJarSignalList
-type CookieJarSignalList = ('[ '("changed", CookieJarChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type CookieJarSignalList = ('[ '("changed", CookieJarChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method CookieJar::new
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Soup" "CookieJar"
 -- throws : False
 -- Skip return : False
@@ -252,7 +314,7 @@
 
 cookieJarNew ::
     (MonadIO m) =>
-    m CookieJar
+    m CookieJar                             -- result
 cookieJarNew  = liftIO $ do
     result <- soup_cookie_jar_new
     checkUnexpectedReturnNULL "soup_cookie_jar_new" result
@@ -261,9 +323,8 @@
 
 -- method CookieJar::add_cookie
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cookie", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -276,9 +337,9 @@
 
 cookieJarAddCookie ::
     (MonadIO m, CookieJarK a) =>
-    a ->                                    -- _obj
-    Cookie ->                               -- cookie
-    m ()
+    a                                       -- _obj
+    -> Cookie                               -- cookie
+    -> m ()                                 -- result
 cookieJarAddCookie _obj cookie = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     cookie' <- copyBoxed cookie
@@ -287,11 +348,14 @@
     touchManagedPtr cookie
     return ()
 
+data CookieJarAddCookieMethodInfo
+instance (signature ~ (Cookie -> m ()), MonadIO m, CookieJarK a) => MethodInfo CookieJarAddCookieMethodInfo a signature where
+    overloadedMethod _ = cookieJarAddCookie
+
 -- method CookieJar::add_cookie_with_first_party
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "first_party", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "first_party", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cookie", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "first_party", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -305,25 +369,28 @@
 
 cookieJarAddCookieWithFirstParty ::
     (MonadIO m, CookieJarK a) =>
-    a ->                                    -- _obj
-    URI ->                                  -- first_party
-    Cookie ->                               -- cookie
-    m ()
-cookieJarAddCookieWithFirstParty _obj first_party cookie = liftIO $ do
+    a                                       -- _obj
+    -> URI                                  -- firstParty
+    -> Cookie                               -- cookie
+    -> m ()                                 -- result
+cookieJarAddCookieWithFirstParty _obj firstParty cookie = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let first_party' = unsafeManagedPtrGetPtr first_party
+    let firstParty' = unsafeManagedPtrGetPtr firstParty
     cookie' <- copyBoxed cookie
-    soup_cookie_jar_add_cookie_with_first_party _obj' first_party' cookie'
+    soup_cookie_jar_add_cookie_with_first_party _obj' firstParty' cookie'
     touchManagedPtr _obj
-    touchManagedPtr first_party
+    touchManagedPtr firstParty
     touchManagedPtr cookie
     return ()
 
+data CookieJarAddCookieWithFirstPartyMethodInfo
+instance (signature ~ (URI -> Cookie -> m ()), MonadIO m, CookieJarK a) => MethodInfo CookieJarAddCookieWithFirstPartyMethodInfo a signature where
+    overloadedMethod _ = cookieJarAddCookieWithFirstParty
+
 -- method CookieJar::all_cookies
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TInterface "Soup" "Cookie")
 -- throws : False
 -- Skip return : False
@@ -335,8 +402,8 @@
 
 cookieJarAllCookies ::
     (MonadIO m, CookieJarK a) =>
-    a ->                                    -- _obj
-    m [Cookie]
+    a                                       -- _obj
+    -> m [Cookie]                           -- result
 cookieJarAllCookies _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_cookie_jar_all_cookies _obj'
@@ -347,11 +414,14 @@
     touchManagedPtr _obj
     return result''
 
+data CookieJarAllCookiesMethodInfo
+instance (signature ~ (m [Cookie]), MonadIO m, CookieJarK a) => MethodInfo CookieJarAllCookiesMethodInfo a signature where
+    overloadedMethod _ = cookieJarAllCookies
+
 -- method CookieJar::delete_cookie
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cookie", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -364,9 +434,9 @@
 
 cookieJarDeleteCookie ::
     (MonadIO m, CookieJarK a) =>
-    a ->                                    -- _obj
-    Cookie ->                               -- cookie
-    m ()
+    a                                       -- _obj
+    -> Cookie                               -- cookie
+    -> m ()                                 -- result
 cookieJarDeleteCookie _obj cookie = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let cookie' = unsafeManagedPtrGetPtr cookie
@@ -375,11 +445,14 @@
     touchManagedPtr cookie
     return ()
 
+data CookieJarDeleteCookieMethodInfo
+instance (signature ~ (Cookie -> m ()), MonadIO m, CookieJarK a) => MethodInfo CookieJarDeleteCookieMethodInfo a signature where
+    overloadedMethod _ = cookieJarDeleteCookie
+
 -- method CookieJar::get_accept_policy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "CookieJarAcceptPolicy"
 -- throws : False
 -- Skip return : False
@@ -391,8 +464,8 @@
 
 cookieJarGetAcceptPolicy ::
     (MonadIO m, CookieJarK a) =>
-    a ->                                    -- _obj
-    m CookieJarAcceptPolicy
+    a                                       -- _obj
+    -> m CookieJarAcceptPolicy              -- result
 cookieJarGetAcceptPolicy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_cookie_jar_get_accept_policy _obj'
@@ -400,11 +473,14 @@
     touchManagedPtr _obj
     return result'
 
+data CookieJarGetAcceptPolicyMethodInfo
+instance (signature ~ (m CookieJarAcceptPolicy), MonadIO m, CookieJarK a) => MethodInfo CookieJarGetAcceptPolicyMethodInfo a signature where
+    overloadedMethod _ = cookieJarGetAcceptPolicy
+
 -- method CookieJar::get_cookie_list
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "for_http", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "for_http", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "for_http", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TInterface "Soup" "Cookie")
 -- throws : False
 -- Skip return : False
@@ -418,15 +494,15 @@
 
 cookieJarGetCookieList ::
     (MonadIO m, CookieJarK a) =>
-    a ->                                    -- _obj
-    URI ->                                  -- uri
-    Bool ->                                 -- for_http
-    m [Cookie]
-cookieJarGetCookieList _obj uri for_http = liftIO $ do
+    a                                       -- _obj
+    -> URI                                  -- uri
+    -> Bool                                 -- forHttp
+    -> m [Cookie]                           -- result
+cookieJarGetCookieList _obj uri forHttp = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let uri' = unsafeManagedPtrGetPtr uri
-    let for_http' = (fromIntegral . fromEnum) for_http
-    result <- soup_cookie_jar_get_cookie_list _obj' uri' for_http'
+    let forHttp' = (fromIntegral . fromEnum) forHttp
+    result <- soup_cookie_jar_get_cookie_list _obj' uri' forHttp'
     checkUnexpectedReturnNULL "soup_cookie_jar_get_cookie_list" result
     result' <- unpackGSList result
     result'' <- mapM (wrapBoxed Cookie) result'
@@ -435,11 +511,14 @@
     touchManagedPtr uri
     return result''
 
+data CookieJarGetCookieListMethodInfo
+instance (signature ~ (URI -> Bool -> m [Cookie]), MonadIO m, CookieJarK a) => MethodInfo CookieJarGetCookieListMethodInfo a signature where
+    overloadedMethod _ = cookieJarGetCookieList
+
 -- method CookieJar::get_cookies
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "for_http", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "for_http", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "for_http", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -453,15 +532,15 @@
 
 cookieJarGetCookies ::
     (MonadIO m, CookieJarK a) =>
-    a ->                                    -- _obj
-    URI ->                                  -- uri
-    Bool ->                                 -- for_http
-    m T.Text
-cookieJarGetCookies _obj uri for_http = liftIO $ do
+    a                                       -- _obj
+    -> URI                                  -- uri
+    -> Bool                                 -- forHttp
+    -> m T.Text                             -- result
+cookieJarGetCookies _obj uri forHttp = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let uri' = unsafeManagedPtrGetPtr uri
-    let for_http' = (fromIntegral . fromEnum) for_http
-    result <- soup_cookie_jar_get_cookies _obj' uri' for_http'
+    let forHttp' = (fromIntegral . fromEnum) forHttp
+    result <- soup_cookie_jar_get_cookies _obj' uri' forHttp'
     checkUnexpectedReturnNULL "soup_cookie_jar_get_cookies" result
     result' <- cstringToText result
     freeMem result
@@ -469,11 +548,14 @@
     touchManagedPtr uri
     return result'
 
+data CookieJarGetCookiesMethodInfo
+instance (signature ~ (URI -> Bool -> m T.Text), MonadIO m, CookieJarK a) => MethodInfo CookieJarGetCookiesMethodInfo a signature where
+    overloadedMethod _ = cookieJarGetCookies
+
 -- method CookieJar::is_persistent
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -485,8 +567,8 @@
 
 cookieJarIsPersistent ::
     (MonadIO m, CookieJarK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 cookieJarIsPersistent _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_cookie_jar_is_persistent _obj'
@@ -494,11 +576,14 @@
     touchManagedPtr _obj
     return result'
 
+data CookieJarIsPersistentMethodInfo
+instance (signature ~ (m Bool), MonadIO m, CookieJarK a) => MethodInfo CookieJarIsPersistentMethodInfo a signature where
+    overloadedMethod _ = cookieJarIsPersistent
+
 -- method CookieJar::save
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -510,19 +595,22 @@
 {-# DEPRECATED cookieJarSave ["This is a no-op."]#-}
 cookieJarSave ::
     (MonadIO m, CookieJarK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 cookieJarSave _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_cookie_jar_save _obj'
     touchManagedPtr _obj
     return ()
 
+data CookieJarSaveMethodInfo
+instance (signature ~ (m ()), MonadIO m, CookieJarK a) => MethodInfo CookieJarSaveMethodInfo a signature where
+    overloadedMethod _ = cookieJarSave
+
 -- method CookieJar::set_accept_policy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "policy", argType = TInterface "Soup" "CookieJarAcceptPolicy", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "policy", argType = TInterface "Soup" "CookieJarAcceptPolicy", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "policy", argType = TInterface "Soup" "CookieJarAcceptPolicy", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -535,9 +623,9 @@
 
 cookieJarSetAcceptPolicy ::
     (MonadIO m, CookieJarK a) =>
-    a ->                                    -- _obj
-    CookieJarAcceptPolicy ->                -- policy
-    m ()
+    a                                       -- _obj
+    -> CookieJarAcceptPolicy                -- policy
+    -> m ()                                 -- result
 cookieJarSetAcceptPolicy _obj policy = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let policy' = (fromIntegral . fromEnum) policy
@@ -545,11 +633,14 @@
     touchManagedPtr _obj
     return ()
 
+data CookieJarSetAcceptPolicyMethodInfo
+instance (signature ~ (CookieJarAcceptPolicy -> m ()), MonadIO m, CookieJarK a) => MethodInfo CookieJarSetAcceptPolicyMethodInfo a signature where
+    overloadedMethod _ = cookieJarSetAcceptPolicy
+
 -- method CookieJar::set_cookie
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cookie", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -563,10 +654,10 @@
 
 cookieJarSetCookie ::
     (MonadIO m, CookieJarK a) =>
-    a ->                                    -- _obj
-    URI ->                                  -- uri
-    T.Text ->                               -- cookie
-    m ()
+    a                                       -- _obj
+    -> URI                                  -- uri
+    -> T.Text                               -- cookie
+    -> m ()                                 -- result
 cookieJarSetCookie _obj uri cookie = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let uri' = unsafeManagedPtrGetPtr uri
@@ -577,11 +668,14 @@
     freeMem cookie'
     return ()
 
+data CookieJarSetCookieMethodInfo
+instance (signature ~ (URI -> T.Text -> m ()), MonadIO m, CookieJarK a) => MethodInfo CookieJarSetCookieMethodInfo a signature where
+    overloadedMethod _ = cookieJarSetCookie
+
 -- method CookieJar::set_cookie_with_first_party
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "first_party", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "first_party", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cookie", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "first_party", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -596,21 +690,25 @@
 
 cookieJarSetCookieWithFirstParty ::
     (MonadIO m, CookieJarK a) =>
-    a ->                                    -- _obj
-    URI ->                                  -- uri
-    URI ->                                  -- first_party
-    T.Text ->                               -- cookie
-    m ()
-cookieJarSetCookieWithFirstParty _obj uri first_party cookie = liftIO $ do
+    a                                       -- _obj
+    -> URI                                  -- uri
+    -> URI                                  -- firstParty
+    -> T.Text                               -- cookie
+    -> m ()                                 -- result
+cookieJarSetCookieWithFirstParty _obj uri firstParty cookie = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let uri' = unsafeManagedPtrGetPtr uri
-    let first_party' = unsafeManagedPtrGetPtr first_party
+    let firstParty' = unsafeManagedPtrGetPtr firstParty
     cookie' <- textToCString cookie
-    soup_cookie_jar_set_cookie_with_first_party _obj' uri' first_party' cookie'
+    soup_cookie_jar_set_cookie_with_first_party _obj' uri' firstParty' cookie'
     touchManagedPtr _obj
     touchManagedPtr uri
-    touchManagedPtr first_party
+    touchManagedPtr firstParty
     freeMem cookie'
     return ()
+
+data CookieJarSetCookieWithFirstPartyMethodInfo
+instance (signature ~ (URI -> URI -> T.Text -> m ()), MonadIO m, CookieJarK a) => MethodInfo CookieJarSetCookieWithFirstPartyMethodInfo a signature where
+    overloadedMethod _ = cookieJarSetCookieWithFirstParty
 
 
diff --git a/GI/Soup/Objects/CookieJar.hs-boot b/GI/Soup/Objects/CookieJar.hs-boot
--- a/GI/Soup/Objects/CookieJar.hs-boot
+++ b/GI/Soup/Objects/CookieJar.hs-boot
@@ -14,3 +14,15 @@
 data CookieJarAcceptPolicyPropertyInfo
 data CookieJarReadOnlyPropertyInfo
 data CookieJarChangedSignalInfo
+data CookieJarAddCookieMethodInfo
+data CookieJarAddCookieWithFirstPartyMethodInfo
+data CookieJarAllCookiesMethodInfo
+data CookieJarDeleteCookieMethodInfo
+data CookieJarGetAcceptPolicyMethodInfo
+data CookieJarGetCookieListMethodInfo
+data CookieJarGetCookiesMethodInfo
+data CookieJarIsPersistentMethodInfo
+data CookieJarSaveMethodInfo
+data CookieJarSetAcceptPolicyMethodInfo
+data CookieJarSetCookieMethodInfo
+data CookieJarSetCookieWithFirstPartyMethodInfo
diff --git a/GI/Soup/Objects/CookieJarDB.hs b/GI/Soup/Objects/CookieJarDB.hs
--- a/GI/Soup/Objects/CookieJarDB.hs
+++ b/GI/Soup/Objects/CookieJarDB.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -65,6 +66,56 @@
 noCookieJarDB :: Maybe CookieJarDB
 noCookieJarDB = Nothing
 
+type family ResolveCookieJarDBMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCookieJarDBMethod "addCookie" o = CookieJarAddCookieMethodInfo
+    ResolveCookieJarDBMethod "addCookieWithFirstParty" o = CookieJarAddCookieWithFirstPartyMethodInfo
+    ResolveCookieJarDBMethod "addFeature" o = SessionFeatureAddFeatureMethodInfo
+    ResolveCookieJarDBMethod "allCookies" o = CookieJarAllCookiesMethodInfo
+    ResolveCookieJarDBMethod "attach" o = SessionFeatureAttachMethodInfo
+    ResolveCookieJarDBMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveCookieJarDBMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveCookieJarDBMethod "deleteCookie" o = CookieJarDeleteCookieMethodInfo
+    ResolveCookieJarDBMethod "detach" o = SessionFeatureDetachMethodInfo
+    ResolveCookieJarDBMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveCookieJarDBMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveCookieJarDBMethod "hasFeature" o = SessionFeatureHasFeatureMethodInfo
+    ResolveCookieJarDBMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveCookieJarDBMethod "isPersistent" o = CookieJarIsPersistentMethodInfo
+    ResolveCookieJarDBMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveCookieJarDBMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveCookieJarDBMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveCookieJarDBMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveCookieJarDBMethod "removeFeature" o = SessionFeatureRemoveFeatureMethodInfo
+    ResolveCookieJarDBMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveCookieJarDBMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveCookieJarDBMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveCookieJarDBMethod "save" o = CookieJarSaveMethodInfo
+    ResolveCookieJarDBMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveCookieJarDBMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveCookieJarDBMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveCookieJarDBMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveCookieJarDBMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveCookieJarDBMethod "getAcceptPolicy" o = CookieJarGetAcceptPolicyMethodInfo
+    ResolveCookieJarDBMethod "getCookieList" o = CookieJarGetCookieListMethodInfo
+    ResolveCookieJarDBMethod "getCookies" o = CookieJarGetCookiesMethodInfo
+    ResolveCookieJarDBMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveCookieJarDBMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveCookieJarDBMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveCookieJarDBMethod "setAcceptPolicy" o = CookieJarSetAcceptPolicyMethodInfo
+    ResolveCookieJarDBMethod "setCookie" o = CookieJarSetCookieMethodInfo
+    ResolveCookieJarDBMethod "setCookieWithFirstParty" o = CookieJarSetCookieWithFirstPartyMethodInfo
+    ResolveCookieJarDBMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveCookieJarDBMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveCookieJarDBMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveCookieJarDBMethod t CookieJarDB, MethodInfo info CookieJarDB p) => IsLabelProxy t (CookieJarDB -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveCookieJarDBMethod t CookieJarDB, MethodInfo info CookieJarDB p) => IsLabel t (CookieJarDB -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- VVV Prop "filename"
    -- Type: TBasicType TUTF8
    -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
@@ -81,22 +132,21 @@
     type AttrSetTypeConstraint CookieJarDBFilenamePropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint CookieJarDBFilenamePropertyInfo = CookieJarDBK
     type AttrGetType CookieJarDBFilenamePropertyInfo = T.Text
-    type AttrLabel CookieJarDBFilenamePropertyInfo = "CookieJarDB::filename"
+    type AttrLabel CookieJarDBFilenamePropertyInfo = "filename"
     attrGet _ = getCookieJarDBFilename
     attrSet _ = undefined
     attrConstruct _ = constructCookieJarDBFilename
 
 type instance AttributeList CookieJarDB = CookieJarDBAttributeList
-type CookieJarDBAttributeList = ('[ '("accept-policy", CookieJarAcceptPolicyPropertyInfo), '("filename", CookieJarDBFilenamePropertyInfo), '("read-only", CookieJarReadOnlyPropertyInfo)] :: [(Symbol, *)])
+type CookieJarDBAttributeList = ('[ '("acceptPolicy", CookieJarAcceptPolicyPropertyInfo), '("filename", CookieJarDBFilenamePropertyInfo), '("readOnly", CookieJarReadOnlyPropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList CookieJarDB = CookieJarDBSignalList
-type CookieJarDBSignalList = ('[ '("changed", CookieJarChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type CookieJarDBSignalList = ('[ '("changed", CookieJarChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method CookieJarDB::new
 -- method type : Constructor
--- Args : [Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "read_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "read_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "read_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "CookieJarDB"
 -- throws : False
 -- Skip return : False
@@ -109,13 +159,13 @@
 
 cookieJarDBNew ::
     (MonadIO m) =>
-    T.Text ->                               -- filename
-    Bool ->                                 -- read_only
-    m CookieJarDB
-cookieJarDBNew filename read_only = liftIO $ do
+    T.Text                                  -- filename
+    -> Bool                                 -- readOnly
+    -> m CookieJarDB                        -- result
+cookieJarDBNew filename readOnly = liftIO $ do
     filename' <- textToCString filename
-    let read_only' = (fromIntegral . fromEnum) read_only
-    result <- soup_cookie_jar_db_new filename' read_only'
+    let readOnly' = (fromIntegral . fromEnum) readOnly
+    result <- soup_cookie_jar_db_new filename' readOnly'
     checkUnexpectedReturnNULL "soup_cookie_jar_db_new" result
     result' <- (wrapObject CookieJarDB) result
     freeMem filename'
diff --git a/GI/Soup/Objects/CookieJarText.hs b/GI/Soup/Objects/CookieJarText.hs
--- a/GI/Soup/Objects/CookieJarText.hs
+++ b/GI/Soup/Objects/CookieJarText.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -65,6 +66,56 @@
 noCookieJarText :: Maybe CookieJarText
 noCookieJarText = Nothing
 
+type family ResolveCookieJarTextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCookieJarTextMethod "addCookie" o = CookieJarAddCookieMethodInfo
+    ResolveCookieJarTextMethod "addCookieWithFirstParty" o = CookieJarAddCookieWithFirstPartyMethodInfo
+    ResolveCookieJarTextMethod "addFeature" o = SessionFeatureAddFeatureMethodInfo
+    ResolveCookieJarTextMethod "allCookies" o = CookieJarAllCookiesMethodInfo
+    ResolveCookieJarTextMethod "attach" o = SessionFeatureAttachMethodInfo
+    ResolveCookieJarTextMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveCookieJarTextMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveCookieJarTextMethod "deleteCookie" o = CookieJarDeleteCookieMethodInfo
+    ResolveCookieJarTextMethod "detach" o = SessionFeatureDetachMethodInfo
+    ResolveCookieJarTextMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveCookieJarTextMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveCookieJarTextMethod "hasFeature" o = SessionFeatureHasFeatureMethodInfo
+    ResolveCookieJarTextMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveCookieJarTextMethod "isPersistent" o = CookieJarIsPersistentMethodInfo
+    ResolveCookieJarTextMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveCookieJarTextMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveCookieJarTextMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveCookieJarTextMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveCookieJarTextMethod "removeFeature" o = SessionFeatureRemoveFeatureMethodInfo
+    ResolveCookieJarTextMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveCookieJarTextMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveCookieJarTextMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveCookieJarTextMethod "save" o = CookieJarSaveMethodInfo
+    ResolveCookieJarTextMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveCookieJarTextMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveCookieJarTextMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveCookieJarTextMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveCookieJarTextMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveCookieJarTextMethod "getAcceptPolicy" o = CookieJarGetAcceptPolicyMethodInfo
+    ResolveCookieJarTextMethod "getCookieList" o = CookieJarGetCookieListMethodInfo
+    ResolveCookieJarTextMethod "getCookies" o = CookieJarGetCookiesMethodInfo
+    ResolveCookieJarTextMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveCookieJarTextMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveCookieJarTextMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveCookieJarTextMethod "setAcceptPolicy" o = CookieJarSetAcceptPolicyMethodInfo
+    ResolveCookieJarTextMethod "setCookie" o = CookieJarSetCookieMethodInfo
+    ResolveCookieJarTextMethod "setCookieWithFirstParty" o = CookieJarSetCookieWithFirstPartyMethodInfo
+    ResolveCookieJarTextMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveCookieJarTextMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveCookieJarTextMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveCookieJarTextMethod t CookieJarText, MethodInfo info CookieJarText p) => IsLabelProxy t (CookieJarText -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveCookieJarTextMethod t CookieJarText, MethodInfo info CookieJarText p) => IsLabel t (CookieJarText -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- VVV Prop "filename"
    -- Type: TBasicType TUTF8
    -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
@@ -81,22 +132,21 @@
     type AttrSetTypeConstraint CookieJarTextFilenamePropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint CookieJarTextFilenamePropertyInfo = CookieJarTextK
     type AttrGetType CookieJarTextFilenamePropertyInfo = T.Text
-    type AttrLabel CookieJarTextFilenamePropertyInfo = "CookieJarText::filename"
+    type AttrLabel CookieJarTextFilenamePropertyInfo = "filename"
     attrGet _ = getCookieJarTextFilename
     attrSet _ = undefined
     attrConstruct _ = constructCookieJarTextFilename
 
 type instance AttributeList CookieJarText = CookieJarTextAttributeList
-type CookieJarTextAttributeList = ('[ '("accept-policy", CookieJarAcceptPolicyPropertyInfo), '("filename", CookieJarTextFilenamePropertyInfo), '("read-only", CookieJarReadOnlyPropertyInfo)] :: [(Symbol, *)])
+type CookieJarTextAttributeList = ('[ '("acceptPolicy", CookieJarAcceptPolicyPropertyInfo), '("filename", CookieJarTextFilenamePropertyInfo), '("readOnly", CookieJarReadOnlyPropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList CookieJarText = CookieJarTextSignalList
-type CookieJarTextSignalList = ('[ '("changed", CookieJarChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type CookieJarTextSignalList = ('[ '("changed", CookieJarChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method CookieJarText::new
 -- method type : Constructor
--- Args : [Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "read_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "read_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "read_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "CookieJarText"
 -- throws : False
 -- Skip return : False
@@ -109,13 +159,13 @@
 
 cookieJarTextNew ::
     (MonadIO m) =>
-    T.Text ->                               -- filename
-    Bool ->                                 -- read_only
-    m CookieJarText
-cookieJarTextNew filename read_only = liftIO $ do
+    T.Text                                  -- filename
+    -> Bool                                 -- readOnly
+    -> m CookieJarText                      -- result
+cookieJarTextNew filename readOnly = liftIO $ do
     filename' <- textToCString filename
-    let read_only' = (fromIntegral . fromEnum) read_only
-    result <- soup_cookie_jar_text_new filename' read_only'
+    let readOnly' = (fromIntegral . fromEnum) readOnly
+    result <- soup_cookie_jar_text_new filename' readOnly'
     checkUnexpectedReturnNULL "soup_cookie_jar_text_new" result
     result' <- (wrapObject CookieJarText) result
     freeMem filename'
diff --git a/GI/Soup/Objects/Logger.hs b/GI/Soup/Objects/Logger.hs
--- a/GI/Soup/Objects/Logger.hs
+++ b/GI/Soup/Objects/Logger.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
 -- ** loggerAttach
+    LoggerAttachMethodInfo                  ,
     loggerAttach                            ,
 
 
 -- ** loggerDetach
+    LoggerDetachMethodInfo                  ,
     loggerDetach                            ,
 
 
@@ -29,14 +32,17 @@
 
 
 -- ** loggerSetPrinter
+    LoggerSetPrinterMethodInfo              ,
     loggerSetPrinter                        ,
 
 
 -- ** loggerSetRequestFilter
+    LoggerSetRequestFilterMethodInfo        ,
     loggerSetRequestFilter                  ,
 
 
 -- ** loggerSetResponseFilter
+    LoggerSetResponseFilterMethodInfo       ,
     loggerSetResponseFilter                 ,
 
 
@@ -77,17 +83,55 @@
 noLogger :: Maybe Logger
 noLogger = Nothing
 
+type family ResolveLoggerMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLoggerMethod "addFeature" o = SessionFeatureAddFeatureMethodInfo
+    ResolveLoggerMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveLoggerMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveLoggerMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveLoggerMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveLoggerMethod "hasFeature" o = SessionFeatureHasFeatureMethodInfo
+    ResolveLoggerMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveLoggerMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveLoggerMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveLoggerMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveLoggerMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveLoggerMethod "removeFeature" o = SessionFeatureRemoveFeatureMethodInfo
+    ResolveLoggerMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveLoggerMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveLoggerMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveLoggerMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveLoggerMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveLoggerMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveLoggerMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveLoggerMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveLoggerMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveLoggerMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveLoggerMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveLoggerMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveLoggerMethod "setPrinter" o = LoggerSetPrinterMethodInfo
+    ResolveLoggerMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveLoggerMethod "setRequestFilter" o = LoggerSetRequestFilterMethodInfo
+    ResolveLoggerMethod "setResponseFilter" o = LoggerSetResponseFilterMethodInfo
+    ResolveLoggerMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveLoggerMethod t Logger, MethodInfo info Logger p) => IsLabelProxy t (Logger -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveLoggerMethod t Logger, MethodInfo info Logger p) => IsLabel t (Logger -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Logger = LoggerAttributeList
 type LoggerAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList Logger = LoggerSignalList
-type LoggerSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type LoggerSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Logger::new
 -- method type : Constructor
--- Args : [Arg {argName = "level", argType = TInterface "Soup" "LoggerLogLevel", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_body_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "level", argType = TInterface "Soup" "LoggerLogLevel", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_body_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "level", argType = TInterface "Soup" "LoggerLogLevel", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_body_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Logger"
 -- throws : False
 -- Skip return : False
@@ -100,21 +144,20 @@
 
 loggerNew ::
     (MonadIO m) =>
-    LoggerLogLevel ->                       -- level
-    Int32 ->                                -- max_body_size
-    m Logger
-loggerNew level max_body_size = liftIO $ do
+    LoggerLogLevel                          -- level
+    -> Int32                                -- maxBodySize
+    -> m Logger                             -- result
+loggerNew level maxBodySize = liftIO $ do
     let level' = (fromIntegral . fromEnum) level
-    result <- soup_logger_new level' max_body_size
+    result <- soup_logger_new level' maxBodySize
     checkUnexpectedReturnNULL "soup_logger_new" result
     result' <- (wrapObject Logger) result
     return result'
 
 -- method Logger::attach
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -127,9 +170,9 @@
 {-# DEPRECATED loggerAttach ["Use soup_session_add_feature() instead."]#-}
 loggerAttach ::
     (MonadIO m, LoggerK a, SessionK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- session
-    m ()
+    a                                       -- _obj
+    -> b                                    -- session
+    -> m ()                                 -- result
 loggerAttach _obj session = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let session' = unsafeManagedPtrCastPtr session
@@ -138,11 +181,14 @@
     touchManagedPtr session
     return ()
 
+data LoggerAttachMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, LoggerK a, SessionK b) => MethodInfo LoggerAttachMethodInfo a signature where
+    overloadedMethod _ = loggerAttach
+
 -- method Logger::detach
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -155,9 +201,9 @@
 {-# DEPRECATED loggerDetach ["Use soup_session_remove_feature() instead."]#-}
 loggerDetach ::
     (MonadIO m, LoggerK a, SessionK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- session
-    m ()
+    a                                       -- _obj
+    -> b                                    -- session
+    -> m ()                                 -- result
 loggerDetach _obj session = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let session' = unsafeManagedPtrCastPtr session
@@ -166,11 +212,14 @@
     touchManagedPtr session
     return ()
 
+data LoggerDetachMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, LoggerK a, SessionK b) => MethodInfo LoggerDetachMethodInfo a signature where
+    overloadedMethod _ = loggerDetach
+
 -- method Logger::set_printer
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "printer", argType = TInterface "Soup" "LoggerPrinter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "printer_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "printer", argType = TInterface "Soup" "LoggerPrinter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "printer_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "printer", argType = TInterface "Soup" "LoggerPrinter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -185,23 +234,26 @@
 
 loggerSetPrinter ::
     (MonadIO m, LoggerK a) =>
-    a ->                                    -- _obj
-    LoggerPrinter ->                        -- printer
-    m ()
+    a                                       -- _obj
+    -> LoggerPrinter                        -- printer
+    -> m ()                                 -- result
 loggerSetPrinter _obj printer = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     printer' <- mkLoggerPrinter (loggerPrinterWrapper Nothing printer)
-    let printer_data = castFunPtrToPtr printer'
+    let printerData = castFunPtrToPtr printer'
     let destroy = safeFreeFunPtrPtr
-    soup_logger_set_printer _obj' printer' printer_data destroy
+    soup_logger_set_printer _obj' printer' printerData destroy
     touchManagedPtr _obj
     return ()
 
+data LoggerSetPrinterMethodInfo
+instance (signature ~ (LoggerPrinter -> m ()), MonadIO m, LoggerK a) => MethodInfo LoggerSetPrinterMethodInfo a signature where
+    overloadedMethod _ = loggerSetPrinter
+
 -- method Logger::set_request_filter
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "request_filter", argType = TInterface "Soup" "LoggerFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "filter_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "request_filter", argType = TInterface "Soup" "LoggerFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "request_filter", argType = TInterface "Soup" "LoggerFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -216,23 +268,26 @@
 
 loggerSetRequestFilter ::
     (MonadIO m, LoggerK a) =>
-    a ->                                    -- _obj
-    LoggerFilter ->                         -- request_filter
-    m ()
-loggerSetRequestFilter _obj request_filter = liftIO $ do
+    a                                       -- _obj
+    -> LoggerFilter                         -- requestFilter
+    -> m ()                                 -- result
+loggerSetRequestFilter _obj requestFilter = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    request_filter' <- mkLoggerFilter (loggerFilterWrapper Nothing request_filter)
-    let filter_data = castFunPtrToPtr request_filter'
+    requestFilter' <- mkLoggerFilter (loggerFilterWrapper Nothing requestFilter)
+    let filterData = castFunPtrToPtr requestFilter'
     let destroy = safeFreeFunPtrPtr
-    soup_logger_set_request_filter _obj' request_filter' filter_data destroy
+    soup_logger_set_request_filter _obj' requestFilter' filterData destroy
     touchManagedPtr _obj
     return ()
 
+data LoggerSetRequestFilterMethodInfo
+instance (signature ~ (LoggerFilter -> m ()), MonadIO m, LoggerK a) => MethodInfo LoggerSetRequestFilterMethodInfo a signature where
+    overloadedMethod _ = loggerSetRequestFilter
+
 -- method Logger::set_response_filter
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "response_filter", argType = TInterface "Soup" "LoggerFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "filter_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "response_filter", argType = TInterface "Soup" "LoggerFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "response_filter", argType = TInterface "Soup" "LoggerFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -247,16 +302,20 @@
 
 loggerSetResponseFilter ::
     (MonadIO m, LoggerK a) =>
-    a ->                                    -- _obj
-    LoggerFilter ->                         -- response_filter
-    m ()
-loggerSetResponseFilter _obj response_filter = liftIO $ do
+    a                                       -- _obj
+    -> LoggerFilter                         -- responseFilter
+    -> m ()                                 -- result
+loggerSetResponseFilter _obj responseFilter = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    response_filter' <- mkLoggerFilter (loggerFilterWrapper Nothing response_filter)
-    let filter_data = castFunPtrToPtr response_filter'
+    responseFilter' <- mkLoggerFilter (loggerFilterWrapper Nothing responseFilter)
+    let filterData = castFunPtrToPtr responseFilter'
     let destroy = safeFreeFunPtrPtr
-    soup_logger_set_response_filter _obj' response_filter' filter_data destroy
+    soup_logger_set_response_filter _obj' responseFilter' filterData destroy
     touchManagedPtr _obj
     return ()
+
+data LoggerSetResponseFilterMethodInfo
+instance (signature ~ (LoggerFilter -> m ()), MonadIO m, LoggerK a) => MethodInfo LoggerSetResponseFilterMethodInfo a signature where
+    overloadedMethod _ = loggerSetResponseFilter
 
 
diff --git a/GI/Soup/Objects/Logger.hs-boot b/GI/Soup/Objects/Logger.hs-boot
--- a/GI/Soup/Objects/Logger.hs-boot
+++ b/GI/Soup/Objects/Logger.hs-boot
@@ -11,3 +11,8 @@
 instance GObject Logger where
 class GObject o => LoggerK o
 instance (GObject o, IsDescendantOf Logger o) => LoggerK o
+data LoggerAttachMethodInfo
+data LoggerDetachMethodInfo
+data LoggerSetPrinterMethodInfo
+data LoggerSetRequestFilterMethodInfo
+data LoggerSetResponseFilterMethodInfo
diff --git a/GI/Soup/Objects/Message.hs b/GI/Soup/Objects/Message.hs
--- a/GI/Soup/Objects/Message.hs
+++ b/GI/Soup/Objects/Message.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,66 +18,82 @@
 
  -- * Methods
 -- ** messageContentSniffed
+    MessageContentSniffedMethodInfo         ,
     messageContentSniffed                   ,
 
 
 -- ** messageDisableFeature
+    MessageDisableFeatureMethodInfo         ,
     messageDisableFeature                   ,
 
 
 -- ** messageFinished
+    MessageFinishedMethodInfo               ,
     messageFinished                         ,
 
 
 -- ** messageGetAddress
+    MessageGetAddressMethodInfo             ,
     messageGetAddress                       ,
 
 
 -- ** messageGetFirstParty
+    MessageGetFirstPartyMethodInfo          ,
     messageGetFirstParty                    ,
 
 
 -- ** messageGetFlags
+    MessageGetFlagsMethodInfo               ,
     messageGetFlags                         ,
 
 
 -- ** messageGetHttpVersion
+    MessageGetHttpVersionMethodInfo         ,
     messageGetHttpVersion                   ,
 
 
 -- ** messageGetHttpsStatus
+    MessageGetHttpsStatusMethodInfo         ,
     messageGetHttpsStatus                   ,
 
 
 -- ** messageGetPriority
+    MessageGetPriorityMethodInfo            ,
     messageGetPriority                      ,
 
 
 -- ** messageGetSoupRequest
+    MessageGetSoupRequestMethodInfo         ,
     messageGetSoupRequest                   ,
 
 
 -- ** messageGetUri
+    MessageGetUriMethodInfo                 ,
     messageGetUri                           ,
 
 
 -- ** messageGotBody
+    MessageGotBodyMethodInfo                ,
     messageGotBody                          ,
 
 
 -- ** messageGotChunk
+    MessageGotChunkMethodInfo               ,
     messageGotChunk                         ,
 
 
 -- ** messageGotHeaders
+    MessageGotHeadersMethodInfo             ,
     messageGotHeaders                       ,
 
 
 -- ** messageGotInformational
+    MessageGotInformationalMethodInfo       ,
     messageGotInformational                 ,
 
 
 -- ** messageIsKeepalive
+    MessageIsKeepaliveMethodInfo            ,
     messageIsKeepalive                      ,
 
 
@@ -89,74 +106,92 @@
 
 
 -- ** messageRestarted
+    MessageRestartedMethodInfo              ,
     messageRestarted                        ,
 
 
 -- ** messageSetChunkAllocator
+    MessageSetChunkAllocatorMethodInfo      ,
     messageSetChunkAllocator                ,
 
 
 -- ** messageSetFirstParty
+    MessageSetFirstPartyMethodInfo          ,
     messageSetFirstParty                    ,
 
 
 -- ** messageSetFlags
+    MessageSetFlagsMethodInfo               ,
     messageSetFlags                         ,
 
 
 -- ** messageSetHttpVersion
+    MessageSetHttpVersionMethodInfo         ,
     messageSetHttpVersion                   ,
 
 
 -- ** messageSetPriority
+    MessageSetPriorityMethodInfo            ,
     messageSetPriority                      ,
 
 
 -- ** messageSetRedirect
+    MessageSetRedirectMethodInfo            ,
     messageSetRedirect                      ,
 
 
 -- ** messageSetRequest
+    MessageSetRequestMethodInfo             ,
     messageSetRequest                       ,
 
 
 -- ** messageSetResponse
+    MessageSetResponseMethodInfo            ,
     messageSetResponse                      ,
 
 
 -- ** messageSetStatus
+    MessageSetStatusMethodInfo              ,
     messageSetStatus                        ,
 
 
 -- ** messageSetStatusFull
+    MessageSetStatusFullMethodInfo          ,
     messageSetStatusFull                    ,
 
 
 -- ** messageSetUri
+    MessageSetUriMethodInfo                 ,
     messageSetUri                           ,
 
 
 -- ** messageStarting
+    MessageStartingMethodInfo               ,
     messageStarting                         ,
 
 
 -- ** messageWroteBody
+    MessageWroteBodyMethodInfo              ,
     messageWroteBody                        ,
 
 
 -- ** messageWroteBodyData
+    MessageWroteBodyDataMethodInfo          ,
     messageWroteBodyData                    ,
 
 
 -- ** messageWroteChunk
+    MessageWroteChunkMethodInfo             ,
     messageWroteChunk                       ,
 
 
 -- ** messageWroteHeaders
+    MessageWroteHeadersMethodInfo           ,
     messageWroteHeaders                     ,
 
 
 -- ** messageWroteInformational
+    MessageWroteInformationalMethodInfo     ,
     messageWroteInformational               ,
 
 
@@ -478,6 +513,73 @@
 noMessage :: Maybe Message
 noMessage = Nothing
 
+type family ResolveMessageMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMessageMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveMessageMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveMessageMethod "contentSniffed" o = MessageContentSniffedMethodInfo
+    ResolveMessageMethod "disableFeature" o = MessageDisableFeatureMethodInfo
+    ResolveMessageMethod "finished" o = MessageFinishedMethodInfo
+    ResolveMessageMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveMessageMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveMessageMethod "gotBody" o = MessageGotBodyMethodInfo
+    ResolveMessageMethod "gotChunk" o = MessageGotChunkMethodInfo
+    ResolveMessageMethod "gotHeaders" o = MessageGotHeadersMethodInfo
+    ResolveMessageMethod "gotInformational" o = MessageGotInformationalMethodInfo
+    ResolveMessageMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveMessageMethod "isKeepalive" o = MessageIsKeepaliveMethodInfo
+    ResolveMessageMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveMessageMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveMessageMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveMessageMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveMessageMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveMessageMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveMessageMethod "restarted" o = MessageRestartedMethodInfo
+    ResolveMessageMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveMessageMethod "starting" o = MessageStartingMethodInfo
+    ResolveMessageMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveMessageMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveMessageMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveMessageMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveMessageMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveMessageMethod "wroteBody" o = MessageWroteBodyMethodInfo
+    ResolveMessageMethod "wroteBodyData" o = MessageWroteBodyDataMethodInfo
+    ResolveMessageMethod "wroteChunk" o = MessageWroteChunkMethodInfo
+    ResolveMessageMethod "wroteHeaders" o = MessageWroteHeadersMethodInfo
+    ResolveMessageMethod "wroteInformational" o = MessageWroteInformationalMethodInfo
+    ResolveMessageMethod "getAddress" o = MessageGetAddressMethodInfo
+    ResolveMessageMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveMessageMethod "getFirstParty" o = MessageGetFirstPartyMethodInfo
+    ResolveMessageMethod "getFlags" o = MessageGetFlagsMethodInfo
+    ResolveMessageMethod "getHttpVersion" o = MessageGetHttpVersionMethodInfo
+    ResolveMessageMethod "getHttpsStatus" o = MessageGetHttpsStatusMethodInfo
+    ResolveMessageMethod "getPriority" o = MessageGetPriorityMethodInfo
+    ResolveMessageMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveMessageMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveMessageMethod "getSoupRequest" o = MessageGetSoupRequestMethodInfo
+    ResolveMessageMethod "getUri" o = MessageGetUriMethodInfo
+    ResolveMessageMethod "setChunkAllocator" o = MessageSetChunkAllocatorMethodInfo
+    ResolveMessageMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveMessageMethod "setFirstParty" o = MessageSetFirstPartyMethodInfo
+    ResolveMessageMethod "setFlags" o = MessageSetFlagsMethodInfo
+    ResolveMessageMethod "setHttpVersion" o = MessageSetHttpVersionMethodInfo
+    ResolveMessageMethod "setPriority" o = MessageSetPriorityMethodInfo
+    ResolveMessageMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveMessageMethod "setRedirect" o = MessageSetRedirectMethodInfo
+    ResolveMessageMethod "setRequest" o = MessageSetRequestMethodInfo
+    ResolveMessageMethod "setResponse" o = MessageSetResponseMethodInfo
+    ResolveMessageMethod "setStatus" o = MessageSetStatusMethodInfo
+    ResolveMessageMethod "setStatusFull" o = MessageSetStatusFullMethodInfo
+    ResolveMessageMethod "setUri" o = MessageSetUriMethodInfo
+    ResolveMessageMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveMessageMethod t Message, MethodInfo info Message p) => IsLabelProxy t (Message -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveMessageMethod t Message, MethodInfo info Message p) => IsLabel t (Message -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal Message::content-sniffed
 type MessageContentSniffedCallback =
     T.Text ->
@@ -1058,7 +1160,7 @@
     type AttrSetTypeConstraint MessageFirstPartyPropertyInfo = (~) URI
     type AttrBaseTypeConstraint MessageFirstPartyPropertyInfo = MessageK
     type AttrGetType MessageFirstPartyPropertyInfo = URI
-    type AttrLabel MessageFirstPartyPropertyInfo = "Message::first-party"
+    type AttrLabel MessageFirstPartyPropertyInfo = "first-party"
     attrGet _ = getMessageFirstParty
     attrSet _ = setMessageFirstParty
     attrConstruct _ = constructMessageFirstParty
@@ -1082,7 +1184,7 @@
     type AttrSetTypeConstraint MessageFlagsPropertyInfo = (~) [MessageFlags]
     type AttrBaseTypeConstraint MessageFlagsPropertyInfo = MessageK
     type AttrGetType MessageFlagsPropertyInfo = [MessageFlags]
-    type AttrLabel MessageFlagsPropertyInfo = "Message::flags"
+    type AttrLabel MessageFlagsPropertyInfo = "flags"
     attrGet _ = getMessageFlags
     attrSet _ = setMessageFlags
     attrConstruct _ = constructMessageFlags
@@ -1106,7 +1208,7 @@
     type AttrSetTypeConstraint MessageHttpVersionPropertyInfo = (~) HTTPVersion
     type AttrBaseTypeConstraint MessageHttpVersionPropertyInfo = MessageK
     type AttrGetType MessageHttpVersionPropertyInfo = HTTPVersion
-    type AttrLabel MessageHttpVersionPropertyInfo = "Message::http-version"
+    type AttrLabel MessageHttpVersionPropertyInfo = "http-version"
     attrGet _ = getMessageHttpVersion
     attrSet _ = setMessageHttpVersion
     attrConstruct _ = constructMessageHttpVersion
@@ -1130,7 +1232,7 @@
     type AttrSetTypeConstraint MessageMethodPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint MessageMethodPropertyInfo = MessageK
     type AttrGetType MessageMethodPropertyInfo = T.Text
-    type AttrLabel MessageMethodPropertyInfo = "Message::method"
+    type AttrLabel MessageMethodPropertyInfo = "method"
     attrGet _ = getMessageMethod
     attrSet _ = setMessageMethod
     attrConstruct _ = constructMessageMethod
@@ -1154,7 +1256,7 @@
     type AttrSetTypeConstraint MessagePriorityPropertyInfo = (~) MessagePriority
     type AttrBaseTypeConstraint MessagePriorityPropertyInfo = MessageK
     type AttrGetType MessagePriorityPropertyInfo = MessagePriority
-    type AttrLabel MessagePriorityPropertyInfo = "Message::priority"
+    type AttrLabel MessagePriorityPropertyInfo = "priority"
     attrGet _ = getMessagePriority
     attrSet _ = setMessagePriority
     attrConstruct _ = constructMessagePriority
@@ -1178,7 +1280,7 @@
     type AttrSetTypeConstraint MessageReasonPhrasePropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint MessageReasonPhrasePropertyInfo = MessageK
     type AttrGetType MessageReasonPhrasePropertyInfo = T.Text
-    type AttrLabel MessageReasonPhrasePropertyInfo = "Message::reason-phrase"
+    type AttrLabel MessageReasonPhrasePropertyInfo = "reason-phrase"
     attrGet _ = getMessageReasonPhrase
     attrSet _ = setMessageReasonPhrase
     attrConstruct _ = constructMessageReasonPhrase
@@ -1196,7 +1298,7 @@
     type AttrSetTypeConstraint MessageRequestBodyPropertyInfo = (~) ()
     type AttrBaseTypeConstraint MessageRequestBodyPropertyInfo = MessageK
     type AttrGetType MessageRequestBodyPropertyInfo = MessageBody
-    type AttrLabel MessageRequestBodyPropertyInfo = "Message::request-body"
+    type AttrLabel MessageRequestBodyPropertyInfo = "request-body"
     attrGet _ = getMessageRequestBody
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -1214,7 +1316,7 @@
     type AttrSetTypeConstraint MessageRequestBodyDataPropertyInfo = (~) ()
     type AttrBaseTypeConstraint MessageRequestBodyDataPropertyInfo = MessageK
     type AttrGetType MessageRequestBodyDataPropertyInfo = GLib.Bytes
-    type AttrLabel MessageRequestBodyDataPropertyInfo = "Message::request-body-data"
+    type AttrLabel MessageRequestBodyDataPropertyInfo = "request-body-data"
     attrGet _ = getMessageRequestBodyData
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -1232,7 +1334,7 @@
     type AttrSetTypeConstraint MessageRequestHeadersPropertyInfo = (~) ()
     type AttrBaseTypeConstraint MessageRequestHeadersPropertyInfo = MessageK
     type AttrGetType MessageRequestHeadersPropertyInfo = MessageHeaders
-    type AttrLabel MessageRequestHeadersPropertyInfo = "Message::request-headers"
+    type AttrLabel MessageRequestHeadersPropertyInfo = "request-headers"
     attrGet _ = getMessageRequestHeaders
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -1250,7 +1352,7 @@
     type AttrSetTypeConstraint MessageResponseBodyPropertyInfo = (~) ()
     type AttrBaseTypeConstraint MessageResponseBodyPropertyInfo = MessageK
     type AttrGetType MessageResponseBodyPropertyInfo = MessageBody
-    type AttrLabel MessageResponseBodyPropertyInfo = "Message::response-body"
+    type AttrLabel MessageResponseBodyPropertyInfo = "response-body"
     attrGet _ = getMessageResponseBody
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -1268,7 +1370,7 @@
     type AttrSetTypeConstraint MessageResponseBodyDataPropertyInfo = (~) ()
     type AttrBaseTypeConstraint MessageResponseBodyDataPropertyInfo = MessageK
     type AttrGetType MessageResponseBodyDataPropertyInfo = GLib.Bytes
-    type AttrLabel MessageResponseBodyDataPropertyInfo = "Message::response-body-data"
+    type AttrLabel MessageResponseBodyDataPropertyInfo = "response-body-data"
     attrGet _ = getMessageResponseBodyData
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -1286,7 +1388,7 @@
     type AttrSetTypeConstraint MessageResponseHeadersPropertyInfo = (~) ()
     type AttrBaseTypeConstraint MessageResponseHeadersPropertyInfo = MessageK
     type AttrGetType MessageResponseHeadersPropertyInfo = MessageHeaders
-    type AttrLabel MessageResponseHeadersPropertyInfo = "Message::response-headers"
+    type AttrLabel MessageResponseHeadersPropertyInfo = "response-headers"
     attrGet _ = getMessageResponseHeaders
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -1307,7 +1409,7 @@
     type AttrSetTypeConstraint MessageServerSidePropertyInfo = (~) Bool
     type AttrBaseTypeConstraint MessageServerSidePropertyInfo = MessageK
     type AttrGetType MessageServerSidePropertyInfo = Bool
-    type AttrLabel MessageServerSidePropertyInfo = "Message::server-side"
+    type AttrLabel MessageServerSidePropertyInfo = "server-side"
     attrGet _ = getMessageServerSide
     attrSet _ = undefined
     attrConstruct _ = constructMessageServerSide
@@ -1331,7 +1433,7 @@
     type AttrSetTypeConstraint MessageStatusCodePropertyInfo = (~) Word32
     type AttrBaseTypeConstraint MessageStatusCodePropertyInfo = MessageK
     type AttrGetType MessageStatusCodePropertyInfo = Word32
-    type AttrLabel MessageStatusCodePropertyInfo = "Message::status-code"
+    type AttrLabel MessageStatusCodePropertyInfo = "status-code"
     attrGet _ = getMessageStatusCode
     attrSet _ = setMessageStatusCode
     attrConstruct _ = constructMessageStatusCode
@@ -1355,7 +1457,7 @@
     type AttrSetTypeConstraint MessageTlsCertificatePropertyInfo = Gio.TlsCertificateK
     type AttrBaseTypeConstraint MessageTlsCertificatePropertyInfo = MessageK
     type AttrGetType MessageTlsCertificatePropertyInfo = Gio.TlsCertificate
-    type AttrLabel MessageTlsCertificatePropertyInfo = "Message::tls-certificate"
+    type AttrLabel MessageTlsCertificatePropertyInfo = "tls-certificate"
     attrGet _ = getMessageTlsCertificate
     attrSet _ = setMessageTlsCertificate
     attrConstruct _ = constructMessageTlsCertificate
@@ -1379,7 +1481,7 @@
     type AttrSetTypeConstraint MessageTlsErrorsPropertyInfo = (~) [Gio.TlsCertificateFlags]
     type AttrBaseTypeConstraint MessageTlsErrorsPropertyInfo = MessageK
     type AttrGetType MessageTlsErrorsPropertyInfo = [Gio.TlsCertificateFlags]
-    type AttrLabel MessageTlsErrorsPropertyInfo = "Message::tls-errors"
+    type AttrLabel MessageTlsErrorsPropertyInfo = "tls-errors"
     attrGet _ = getMessageTlsErrors
     attrSet _ = setMessageTlsErrors
     attrConstruct _ = constructMessageTlsErrors
@@ -1403,13 +1505,13 @@
     type AttrSetTypeConstraint MessageUriPropertyInfo = (~) URI
     type AttrBaseTypeConstraint MessageUriPropertyInfo = MessageK
     type AttrGetType MessageUriPropertyInfo = URI
-    type AttrLabel MessageUriPropertyInfo = "Message::uri"
+    type AttrLabel MessageUriPropertyInfo = "uri"
     attrGet _ = getMessageUri
     attrSet _ = setMessageUri
     attrConstruct _ = constructMessageUri
 
 type instance AttributeList Message = MessageAttributeList
-type MessageAttributeList = ('[ '("first-party", MessageFirstPartyPropertyInfo), '("flags", MessageFlagsPropertyInfo), '("http-version", MessageHttpVersionPropertyInfo), '("method", MessageMethodPropertyInfo), '("priority", MessagePriorityPropertyInfo), '("reason-phrase", MessageReasonPhrasePropertyInfo), '("request-body", MessageRequestBodyPropertyInfo), '("request-body-data", MessageRequestBodyDataPropertyInfo), '("request-headers", MessageRequestHeadersPropertyInfo), '("response-body", MessageResponseBodyPropertyInfo), '("response-body-data", MessageResponseBodyDataPropertyInfo), '("response-headers", MessageResponseHeadersPropertyInfo), '("server-side", MessageServerSidePropertyInfo), '("status-code", MessageStatusCodePropertyInfo), '("tls-certificate", MessageTlsCertificatePropertyInfo), '("tls-errors", MessageTlsErrorsPropertyInfo), '("uri", MessageUriPropertyInfo)] :: [(Symbol, *)])
+type MessageAttributeList = ('[ '("firstParty", MessageFirstPartyPropertyInfo), '("flags", MessageFlagsPropertyInfo), '("httpVersion", MessageHttpVersionPropertyInfo), '("method", MessageMethodPropertyInfo), '("priority", MessagePriorityPropertyInfo), '("reasonPhrase", MessageReasonPhrasePropertyInfo), '("requestBody", MessageRequestBodyPropertyInfo), '("requestBodyData", MessageRequestBodyDataPropertyInfo), '("requestHeaders", MessageRequestHeadersPropertyInfo), '("responseBody", MessageResponseBodyPropertyInfo), '("responseBodyData", MessageResponseBodyDataPropertyInfo), '("responseHeaders", MessageResponseHeadersPropertyInfo), '("serverSide", MessageServerSidePropertyInfo), '("statusCode", MessageStatusCodePropertyInfo), '("tlsCertificate", MessageTlsCertificatePropertyInfo), '("tlsErrors", MessageTlsErrorsPropertyInfo), '("uri", MessageUriPropertyInfo)] :: [(Symbol, *)])
 
 data MessageContentSniffedSignalInfo
 instance SignalInfo MessageContentSniffedSignalInfo where
@@ -1482,13 +1584,12 @@
     connectSignal _ = connectMessageWroteInformational
 
 type instance SignalList Message = MessageSignalList
-type MessageSignalList = ('[ '("content-sniffed", MessageContentSniffedSignalInfo), '("finished", MessageFinishedSignalInfo), '("got-body", MessageGotBodySignalInfo), '("got-chunk", MessageGotChunkSignalInfo), '("got-headers", MessageGotHeadersSignalInfo), '("got-informational", MessageGotInformationalSignalInfo), '("network-event", MessageNetworkEventSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("restarted", MessageRestartedSignalInfo), '("starting", MessageStartingSignalInfo), '("wrote-body", MessageWroteBodySignalInfo), '("wrote-body-data", MessageWroteBodyDataSignalInfo), '("wrote-chunk", MessageWroteChunkSignalInfo), '("wrote-headers", MessageWroteHeadersSignalInfo), '("wrote-informational", MessageWroteInformationalSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type MessageSignalList = ('[ '("contentSniffed", MessageContentSniffedSignalInfo), '("finished", MessageFinishedSignalInfo), '("gotBody", MessageGotBodySignalInfo), '("gotChunk", MessageGotChunkSignalInfo), '("gotHeaders", MessageGotHeadersSignalInfo), '("gotInformational", MessageGotInformationalSignalInfo), '("networkEvent", MessageNetworkEventSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("restarted", MessageRestartedSignalInfo), '("starting", MessageStartingSignalInfo), '("wroteBody", MessageWroteBodySignalInfo), '("wroteBodyData", MessageWroteBodyDataSignalInfo), '("wroteChunk", MessageWroteChunkSignalInfo), '("wroteHeaders", MessageWroteHeadersSignalInfo), '("wroteInformational", MessageWroteInformationalSignalInfo)] :: [(Symbol, *)])
 
 -- method Message::new
 -- method type : Constructor
--- Args : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Message"
 -- throws : False
 -- Skip return : False
@@ -1501,24 +1602,23 @@
 
 messageNew ::
     (MonadIO m) =>
-    T.Text ->                               -- method
-    T.Text ->                               -- uri_string
-    m Message
-messageNew method uri_string = liftIO $ do
+    T.Text                                  -- method
+    -> T.Text                               -- uriString
+    -> m Message                            -- result
+messageNew method uriString = liftIO $ do
     method' <- textToCString method
-    uri_string' <- textToCString uri_string
-    result <- soup_message_new method' uri_string'
+    uriString' <- textToCString uriString
+    result <- soup_message_new method' uriString'
     checkUnexpectedReturnNULL "soup_message_new" result
     result' <- (wrapObject Message) result
     freeMem method'
-    freeMem uri_string'
+    freeMem uriString'
     return result'
 
 -- method Message::new_from_uri
 -- method type : Constructor
--- Args : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Message"
 -- throws : False
 -- Skip return : False
@@ -1531,9 +1631,9 @@
 
 messageNewFromUri ::
     (MonadIO m) =>
-    T.Text ->                               -- method
-    URI ->                                  -- uri
-    m Message
+    T.Text                                  -- method
+    -> URI                                  -- uri
+    -> m Message                            -- result
 messageNewFromUri method uri = liftIO $ do
     method' <- textToCString method
     let uri' = unsafeManagedPtrGetPtr uri
@@ -1546,9 +1646,8 @@
 
 -- method Message::content_sniffed
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TVoid) (TBasicType TVoid), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TGHash (TBasicType TVoid) (TBasicType TVoid), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TVoid) (TBasicType TVoid), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1562,28 +1661,31 @@
 
 messageContentSniffed ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- content_type
-    Map.Map (Ptr ()) (Ptr ()) ->            -- params
-    m ()
-messageContentSniffed _obj content_type params = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- contentType
+    -> Map.Map (Ptr ()) (Ptr ())            -- params
+    -> m ()                                 -- result
+messageContentSniffed _obj contentType params = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    content_type' <- textToCString content_type
+    contentType' <- textToCString contentType
     let params' = Map.toList params
     let params'' = mapFirst ptrPackPtr params'
     let params''' = mapSecond ptrPackPtr params''
     params'''' <- packGHashTable gDirectHash gDirectEqual Nothing Nothing params'''
-    soup_message_content_sniffed _obj' content_type' params''''
+    soup_message_content_sniffed _obj' contentType' params''''
     touchManagedPtr _obj
-    freeMem content_type'
+    freeMem contentType'
     unrefGHashTable params''''
     return ()
 
+data MessageContentSniffedMethodInfo
+instance (signature ~ (T.Text -> Map.Map (Ptr ()) (Ptr ()) -> m ()), MonadIO m, MessageK a) => MethodInfo MessageContentSniffedMethodInfo a signature where
+    overloadedMethod _ = messageContentSniffed
+
 -- method Message::disable_feature
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1596,21 +1698,24 @@
 
 messageDisableFeature ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    GType ->                                -- feature_type
-    m ()
-messageDisableFeature _obj feature_type = liftIO $ do
+    a                                       -- _obj
+    -> GType                                -- featureType
+    -> m ()                                 -- result
+messageDisableFeature _obj featureType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let feature_type' = gtypeToCGType feature_type
-    soup_message_disable_feature _obj' feature_type'
+    let featureType' = gtypeToCGType featureType
+    soup_message_disable_feature _obj' featureType'
     touchManagedPtr _obj
     return ()
 
+data MessageDisableFeatureMethodInfo
+instance (signature ~ (GType -> m ()), MonadIO m, MessageK a) => MethodInfo MessageDisableFeatureMethodInfo a signature where
+    overloadedMethod _ = messageDisableFeature
+
 -- method Message::finished
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1622,19 +1727,22 @@
 
 messageFinished ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 messageFinished _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_message_finished _obj'
     touchManagedPtr _obj
     return ()
 
+data MessageFinishedMethodInfo
+instance (signature ~ (m ()), MonadIO m, MessageK a) => MethodInfo MessageFinishedMethodInfo a signature where
+    overloadedMethod _ = messageFinished
+
 -- method Message::get_address
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Address"
 -- throws : False
 -- Skip return : False
@@ -1646,8 +1754,8 @@
 
 messageGetAddress ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m Address
+    a                                       -- _obj
+    -> m Address                            -- result
 messageGetAddress _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_message_get_address _obj'
@@ -1656,11 +1764,14 @@
     touchManagedPtr _obj
     return result'
 
+data MessageGetAddressMethodInfo
+instance (signature ~ (m Address), MonadIO m, MessageK a) => MethodInfo MessageGetAddressMethodInfo a signature where
+    overloadedMethod _ = messageGetAddress
+
 -- method Message::get_first_party
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "URI"
 -- throws : False
 -- Skip return : False
@@ -1672,8 +1783,8 @@
 
 messageGetFirstParty ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m URI
+    a                                       -- _obj
+    -> m URI                                -- result
 messageGetFirstParty _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_message_get_first_party _obj'
@@ -1682,11 +1793,14 @@
     touchManagedPtr _obj
     return result'
 
+data MessageGetFirstPartyMethodInfo
+instance (signature ~ (m URI), MonadIO m, MessageK a) => MethodInfo MessageGetFirstPartyMethodInfo a signature where
+    overloadedMethod _ = messageGetFirstParty
+
 -- method Message::get_flags
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "MessageFlags"
 -- throws : False
 -- Skip return : False
@@ -1698,8 +1812,8 @@
 
 messageGetFlags ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m [MessageFlags]
+    a                                       -- _obj
+    -> m [MessageFlags]                     -- result
 messageGetFlags _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_message_get_flags _obj'
@@ -1707,11 +1821,14 @@
     touchManagedPtr _obj
     return result'
 
+data MessageGetFlagsMethodInfo
+instance (signature ~ (m [MessageFlags]), MonadIO m, MessageK a) => MethodInfo MessageGetFlagsMethodInfo a signature where
+    overloadedMethod _ = messageGetFlags
+
 -- method Message::get_http_version
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "HTTPVersion"
 -- throws : False
 -- Skip return : False
@@ -1723,8 +1840,8 @@
 
 messageGetHttpVersion ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m HTTPVersion
+    a                                       -- _obj
+    -> m HTTPVersion                        -- result
 messageGetHttpVersion _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_message_get_http_version _obj'
@@ -1732,11 +1849,14 @@
     touchManagedPtr _obj
     return result'
 
+data MessageGetHttpVersionMethodInfo
+instance (signature ~ (m HTTPVersion), MonadIO m, MessageK a) => MethodInfo MessageGetHttpVersionMethodInfo a signature where
+    overloadedMethod _ = messageGetHttpVersion
+
 -- method Message::get_https_status
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "certificate", argType = TInterface "Gio" "TlsCertificate", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "errors", argType = TInterface "Gio" "TlsCertificateFlags", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "certificate", argType = TInterface "Gio" "TlsCertificate", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "errors", argType = TInterface "Gio" "TlsCertificateFlags", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1750,8 +1870,8 @@
 
 messageGetHttpsStatus ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m (Bool,Gio.TlsCertificate,[Gio.TlsCertificateFlags])
+    a                                       -- _obj
+    -> m (Bool,Gio.TlsCertificate,[Gio.TlsCertificateFlags])-- result
 messageGetHttpsStatus _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     certificate <- allocMem :: IO (Ptr (Ptr Gio.TlsCertificate))
@@ -1767,11 +1887,14 @@
     freeMem errors
     return (result', certificate'', errors'')
 
+data MessageGetHttpsStatusMethodInfo
+instance (signature ~ (m (Bool,Gio.TlsCertificate,[Gio.TlsCertificateFlags])), MonadIO m, MessageK a) => MethodInfo MessageGetHttpsStatusMethodInfo a signature where
+    overloadedMethod _ = messageGetHttpsStatus
+
 -- method Message::get_priority
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "MessagePriority"
 -- throws : False
 -- Skip return : False
@@ -1783,8 +1906,8 @@
 
 messageGetPriority ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m MessagePriority
+    a                                       -- _obj
+    -> m MessagePriority                    -- result
 messageGetPriority _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_message_get_priority _obj'
@@ -1792,11 +1915,14 @@
     touchManagedPtr _obj
     return result'
 
+data MessageGetPriorityMethodInfo
+instance (signature ~ (m MessagePriority), MonadIO m, MessageK a) => MethodInfo MessageGetPriorityMethodInfo a signature where
+    overloadedMethod _ = messageGetPriority
+
 -- method Message::get_soup_request
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Request"
 -- throws : False
 -- Skip return : False
@@ -1808,8 +1934,8 @@
 
 messageGetSoupRequest ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m Request
+    a                                       -- _obj
+    -> m Request                            -- result
 messageGetSoupRequest _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_message_get_soup_request _obj'
@@ -1818,11 +1944,14 @@
     touchManagedPtr _obj
     return result'
 
+data MessageGetSoupRequestMethodInfo
+instance (signature ~ (m Request), MonadIO m, MessageK a) => MethodInfo MessageGetSoupRequestMethodInfo a signature where
+    overloadedMethod _ = messageGetSoupRequest
+
 -- method Message::get_uri
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "URI"
 -- throws : False
 -- Skip return : False
@@ -1834,8 +1963,8 @@
 
 messageGetUri ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m URI
+    a                                       -- _obj
+    -> m URI                                -- result
 messageGetUri _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_message_get_uri _obj'
@@ -1844,11 +1973,14 @@
     touchManagedPtr _obj
     return result'
 
+data MessageGetUriMethodInfo
+instance (signature ~ (m URI), MonadIO m, MessageK a) => MethodInfo MessageGetUriMethodInfo a signature where
+    overloadedMethod _ = messageGetUri
+
 -- method Message::got_body
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1860,19 +1992,22 @@
 
 messageGotBody ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 messageGotBody _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_message_got_body _obj'
     touchManagedPtr _obj
     return ()
 
+data MessageGotBodyMethodInfo
+instance (signature ~ (m ()), MonadIO m, MessageK a) => MethodInfo MessageGotBodyMethodInfo a signature where
+    overloadedMethod _ = messageGotBody
+
 -- method Message::got_chunk
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1885,9 +2020,9 @@
 
 messageGotChunk ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    Buffer ->                               -- chunk
-    m ()
+    a                                       -- _obj
+    -> Buffer                               -- chunk
+    -> m ()                                 -- result
 messageGotChunk _obj chunk = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let chunk' = unsafeManagedPtrGetPtr chunk
@@ -1896,11 +2031,14 @@
     touchManagedPtr chunk
     return ()
 
+data MessageGotChunkMethodInfo
+instance (signature ~ (Buffer -> m ()), MonadIO m, MessageK a) => MethodInfo MessageGotChunkMethodInfo a signature where
+    overloadedMethod _ = messageGotChunk
+
 -- method Message::got_headers
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1912,19 +2050,22 @@
 
 messageGotHeaders ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 messageGotHeaders _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_message_got_headers _obj'
     touchManagedPtr _obj
     return ()
 
+data MessageGotHeadersMethodInfo
+instance (signature ~ (m ()), MonadIO m, MessageK a) => MethodInfo MessageGotHeadersMethodInfo a signature where
+    overloadedMethod _ = messageGotHeaders
+
 -- method Message::got_informational
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1936,19 +2077,22 @@
 
 messageGotInformational ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 messageGotInformational _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_message_got_informational _obj'
     touchManagedPtr _obj
     return ()
 
+data MessageGotInformationalMethodInfo
+instance (signature ~ (m ()), MonadIO m, MessageK a) => MethodInfo MessageGotInformationalMethodInfo a signature where
+    overloadedMethod _ = messageGotInformational
+
 -- method Message::is_keepalive
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1960,8 +2104,8 @@
 
 messageIsKeepalive ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 messageIsKeepalive _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_message_is_keepalive _obj'
@@ -1969,11 +2113,14 @@
     touchManagedPtr _obj
     return result'
 
+data MessageIsKeepaliveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, MessageK a) => MethodInfo MessageIsKeepaliveMethodInfo a signature where
+    overloadedMethod _ = messageIsKeepalive
+
 -- method Message::restarted
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1985,19 +2132,22 @@
 
 messageRestarted ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 messageRestarted _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_message_restarted _obj'
     touchManagedPtr _obj
     return ()
 
+data MessageRestartedMethodInfo
+instance (signature ~ (m ()), MonadIO m, MessageK a) => MethodInfo MessageRestartedMethodInfo a signature where
+    overloadedMethod _ = messageRestarted
+
 -- method Message::set_chunk_allocator
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "allocator", argType = TInterface "Soup" "ChunkAllocator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "destroy_notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocator", argType = TInterface "Soup" "ChunkAllocator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy_notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "allocator", argType = TInterface "Soup" "ChunkAllocator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2012,23 +2162,26 @@
 {-# DEPRECATED messageSetChunkAllocator ["#SoupRequest provides a much simpler API that lets you","read the response directly into your own buffers without needing to","mess with callbacks, pausing/unpausing, etc."]#-}
 messageSetChunkAllocator ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    ChunkAllocator ->                       -- allocator
-    m ()
+    a                                       -- _obj
+    -> ChunkAllocator                       -- allocator
+    -> m ()                                 -- result
 messageSetChunkAllocator _obj allocator = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     allocator' <- mkChunkAllocator (chunkAllocatorWrapper Nothing allocator)
-    let user_data = castFunPtrToPtr allocator'
-    let destroy_notify = safeFreeFunPtrPtr
-    soup_message_set_chunk_allocator _obj' allocator' user_data destroy_notify
+    let userData = castFunPtrToPtr allocator'
+    let destroyNotify = safeFreeFunPtrPtr
+    soup_message_set_chunk_allocator _obj' allocator' userData destroyNotify
     touchManagedPtr _obj
     return ()
 
+data MessageSetChunkAllocatorMethodInfo
+instance (signature ~ (ChunkAllocator -> m ()), MonadIO m, MessageK a) => MethodInfo MessageSetChunkAllocatorMethodInfo a signature where
+    overloadedMethod _ = messageSetChunkAllocator
+
 -- method Message::set_first_party
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "first_party", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "first_party", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "first_party", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2041,22 +2194,25 @@
 
 messageSetFirstParty ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    URI ->                                  -- first_party
-    m ()
-messageSetFirstParty _obj first_party = liftIO $ do
+    a                                       -- _obj
+    -> URI                                  -- firstParty
+    -> m ()                                 -- result
+messageSetFirstParty _obj firstParty = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let first_party' = unsafeManagedPtrGetPtr first_party
-    soup_message_set_first_party _obj' first_party'
+    let firstParty' = unsafeManagedPtrGetPtr firstParty
+    soup_message_set_first_party _obj' firstParty'
     touchManagedPtr _obj
-    touchManagedPtr first_party
+    touchManagedPtr firstParty
     return ()
 
+data MessageSetFirstPartyMethodInfo
+instance (signature ~ (URI -> m ()), MonadIO m, MessageK a) => MethodInfo MessageSetFirstPartyMethodInfo a signature where
+    overloadedMethod _ = messageSetFirstParty
+
 -- method Message::set_flags
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Soup" "MessageFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "Soup" "MessageFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Soup" "MessageFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2069,9 +2225,9 @@
 
 messageSetFlags ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    [MessageFlags] ->                       -- flags
-    m ()
+    a                                       -- _obj
+    -> [MessageFlags]                       -- flags
+    -> m ()                                 -- result
 messageSetFlags _obj flags = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let flags' = gflagsToWord flags
@@ -2079,11 +2235,14 @@
     touchManagedPtr _obj
     return ()
 
+data MessageSetFlagsMethodInfo
+instance (signature ~ ([MessageFlags] -> m ()), MonadIO m, MessageK a) => MethodInfo MessageSetFlagsMethodInfo a signature where
+    overloadedMethod _ = messageSetFlags
+
 -- method Message::set_http_version
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TInterface "Soup" "HTTPVersion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "version", argType = TInterface "Soup" "HTTPVersion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TInterface "Soup" "HTTPVersion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2096,9 +2255,9 @@
 
 messageSetHttpVersion ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    HTTPVersion ->                          -- version
-    m ()
+    a                                       -- _obj
+    -> HTTPVersion                          -- version
+    -> m ()                                 -- result
 messageSetHttpVersion _obj version = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let version' = (fromIntegral . fromEnum) version
@@ -2106,11 +2265,14 @@
     touchManagedPtr _obj
     return ()
 
+data MessageSetHttpVersionMethodInfo
+instance (signature ~ (HTTPVersion -> m ()), MonadIO m, MessageK a) => MethodInfo MessageSetHttpVersionMethodInfo a signature where
+    overloadedMethod _ = messageSetHttpVersion
+
 -- method Message::set_priority
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "priority", argType = TInterface "Soup" "MessagePriority", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TInterface "Soup" "MessagePriority", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "priority", argType = TInterface "Soup" "MessagePriority", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2123,9 +2285,9 @@
 
 messageSetPriority ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    MessagePriority ->                      -- priority
-    m ()
+    a                                       -- _obj
+    -> MessagePriority                      -- priority
+    -> m ()                                 -- result
 messageSetPriority _obj priority = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let priority' = (fromIntegral . fromEnum) priority
@@ -2133,11 +2295,14 @@
     touchManagedPtr _obj
     return ()
 
+data MessageSetPriorityMethodInfo
+instance (signature ~ (MessagePriority -> m ()), MonadIO m, MessageK a) => MethodInfo MessageSetPriorityMethodInfo a signature where
+    overloadedMethod _ = messageSetPriority
+
 -- method Message::set_redirect
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "redirect_uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "redirect_uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "redirect_uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2151,23 +2316,26 @@
 
 messageSetRedirect ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- status_code
-    T.Text ->                               -- redirect_uri
-    m ()
-messageSetRedirect _obj status_code redirect_uri = liftIO $ do
+    a                                       -- _obj
+    -> Word32                               -- statusCode
+    -> T.Text                               -- redirectUri
+    -> m ()                                 -- result
+messageSetRedirect _obj statusCode redirectUri = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    redirect_uri' <- textToCString redirect_uri
-    soup_message_set_redirect _obj' status_code redirect_uri'
+    redirectUri' <- textToCString redirectUri
+    soup_message_set_redirect _obj' statusCode redirectUri'
     touchManagedPtr _obj
-    freeMem redirect_uri'
+    freeMem redirectUri'
     return ()
 
+data MessageSetRedirectMethodInfo
+instance (signature ~ (Word32 -> T.Text -> m ()), MonadIO m, MessageK a) => MethodInfo MessageSetRedirectMethodInfo a signature where
+    overloadedMethod _ = messageSetRedirect
+
 -- method Message::set_request
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_use", argType = TInterface "Soup" "MemoryUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_body", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "req_length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_use", argType = TInterface "Soup" "MemoryUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_body", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "req_use", argType = TInterface "Soup" "MemoryUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "req_body", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "req_length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "req_length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2183,38 +2351,41 @@
 
 messageSetRequest ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    Maybe (T.Text) ->                       -- content_type
-    MemoryUse ->                            -- req_use
-    Maybe (ByteString) ->                   -- req_body
-    m ()
-messageSetRequest _obj content_type req_use req_body = liftIO $ do
-    let req_length = case req_body of
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- contentType
+    -> MemoryUse                            -- reqUse
+    -> Maybe (ByteString)                   -- reqBody
+    -> m ()                                 -- result
+messageSetRequest _obj contentType reqUse reqBody = liftIO $ do
+    let reqLength = case reqBody of
             Nothing -> 0
-            Just jReq_body -> fromIntegral $ B.length jReq_body
+            Just jReqBody -> fromIntegral $ B.length jReqBody
     let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeContent_type <- case content_type of
+    maybeContentType <- case contentType of
         Nothing -> return nullPtr
-        Just jContent_type -> do
-            jContent_type' <- textToCString jContent_type
-            return jContent_type'
-    let req_use' = (fromIntegral . fromEnum) req_use
-    maybeReq_body <- case req_body of
+        Just jContentType -> do
+            jContentType' <- textToCString jContentType
+            return jContentType'
+    let reqUse' = (fromIntegral . fromEnum) reqUse
+    maybeReqBody <- case reqBody of
         Nothing -> return nullPtr
-        Just jReq_body -> do
-            jReq_body' <- packByteString jReq_body
-            return jReq_body'
-    soup_message_set_request _obj' maybeContent_type req_use' maybeReq_body req_length
+        Just jReqBody -> do
+            jReqBody' <- packByteString jReqBody
+            return jReqBody'
+    soup_message_set_request _obj' maybeContentType reqUse' maybeReqBody reqLength
     touchManagedPtr _obj
-    freeMem maybeContent_type
-    freeMem maybeReq_body
+    freeMem maybeContentType
+    freeMem maybeReqBody
     return ()
 
+data MessageSetRequestMethodInfo
+instance (signature ~ (Maybe (T.Text) -> MemoryUse -> Maybe (ByteString) -> m ()), MonadIO m, MessageK a) => MethodInfo MessageSetRequestMethodInfo a signature where
+    overloadedMethod _ = messageSetRequest
+
 -- method Message::set_response
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resp_use", argType = TInterface "Soup" "MemoryUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resp_body", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resp_length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "resp_length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resp_use", argType = TInterface "Soup" "MemoryUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resp_body", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resp_use", argType = TInterface "Soup" "MemoryUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resp_body", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resp_length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "resp_length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2230,38 +2401,41 @@
 
 messageSetResponse ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    Maybe (T.Text) ->                       -- content_type
-    MemoryUse ->                            -- resp_use
-    Maybe (ByteString) ->                   -- resp_body
-    m ()
-messageSetResponse _obj content_type resp_use resp_body = liftIO $ do
-    let resp_length = case resp_body of
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- contentType
+    -> MemoryUse                            -- respUse
+    -> Maybe (ByteString)                   -- respBody
+    -> m ()                                 -- result
+messageSetResponse _obj contentType respUse respBody = liftIO $ do
+    let respLength = case respBody of
             Nothing -> 0
-            Just jResp_body -> fromIntegral $ B.length jResp_body
+            Just jRespBody -> fromIntegral $ B.length jRespBody
     let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeContent_type <- case content_type of
+    maybeContentType <- case contentType of
         Nothing -> return nullPtr
-        Just jContent_type -> do
-            jContent_type' <- textToCString jContent_type
-            return jContent_type'
-    let resp_use' = (fromIntegral . fromEnum) resp_use
-    maybeResp_body <- case resp_body of
+        Just jContentType -> do
+            jContentType' <- textToCString jContentType
+            return jContentType'
+    let respUse' = (fromIntegral . fromEnum) respUse
+    maybeRespBody <- case respBody of
         Nothing -> return nullPtr
-        Just jResp_body -> do
-            jResp_body' <- packByteString jResp_body
-            return jResp_body'
-    soup_message_set_response _obj' maybeContent_type resp_use' maybeResp_body resp_length
+        Just jRespBody -> do
+            jRespBody' <- packByteString jRespBody
+            return jRespBody'
+    soup_message_set_response _obj' maybeContentType respUse' maybeRespBody respLength
     touchManagedPtr _obj
-    freeMem maybeContent_type
-    freeMem maybeResp_body
+    freeMem maybeContentType
+    freeMem maybeRespBody
     return ()
 
+data MessageSetResponseMethodInfo
+instance (signature ~ (Maybe (T.Text) -> MemoryUse -> Maybe (ByteString) -> m ()), MonadIO m, MessageK a) => MethodInfo MessageSetResponseMethodInfo a signature where
+    overloadedMethod _ = messageSetResponse
+
 -- method Message::set_status
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2274,20 +2448,23 @@
 
 messageSetStatus ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- status_code
-    m ()
-messageSetStatus _obj status_code = liftIO $ do
+    a                                       -- _obj
+    -> Word32                               -- statusCode
+    -> m ()                                 -- result
+messageSetStatus _obj statusCode = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    soup_message_set_status _obj' status_code
+    soup_message_set_status _obj' statusCode
     touchManagedPtr _obj
     return ()
 
+data MessageSetStatusMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, MessageK a) => MethodInfo MessageSetStatusMethodInfo a signature where
+    overloadedMethod _ = messageSetStatus
+
 -- method Message::set_status_full
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "reason_phrase", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reason_phrase", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "reason_phrase", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2301,23 +2478,26 @@
 
 messageSetStatusFull ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- status_code
-    T.Text ->                               -- reason_phrase
-    m ()
-messageSetStatusFull _obj status_code reason_phrase = liftIO $ do
+    a                                       -- _obj
+    -> Word32                               -- statusCode
+    -> T.Text                               -- reasonPhrase
+    -> m ()                                 -- result
+messageSetStatusFull _obj statusCode reasonPhrase = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    reason_phrase' <- textToCString reason_phrase
-    soup_message_set_status_full _obj' status_code reason_phrase'
+    reasonPhrase' <- textToCString reasonPhrase
+    soup_message_set_status_full _obj' statusCode reasonPhrase'
     touchManagedPtr _obj
-    freeMem reason_phrase'
+    freeMem reasonPhrase'
     return ()
 
+data MessageSetStatusFullMethodInfo
+instance (signature ~ (Word32 -> T.Text -> m ()), MonadIO m, MessageK a) => MethodInfo MessageSetStatusFullMethodInfo a signature where
+    overloadedMethod _ = messageSetStatusFull
+
 -- method Message::set_uri
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2330,9 +2510,9 @@
 
 messageSetUri ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    URI ->                                  -- uri
-    m ()
+    a                                       -- _obj
+    -> URI                                  -- uri
+    -> m ()                                 -- result
 messageSetUri _obj uri = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let uri' = unsafeManagedPtrGetPtr uri
@@ -2341,11 +2521,14 @@
     touchManagedPtr uri
     return ()
 
+data MessageSetUriMethodInfo
+instance (signature ~ (URI -> m ()), MonadIO m, MessageK a) => MethodInfo MessageSetUriMethodInfo a signature where
+    overloadedMethod _ = messageSetUri
+
 -- method Message::starting
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2357,19 +2540,22 @@
 
 messageStarting ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 messageStarting _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_message_starting _obj'
     touchManagedPtr _obj
     return ()
 
+data MessageStartingMethodInfo
+instance (signature ~ (m ()), MonadIO m, MessageK a) => MethodInfo MessageStartingMethodInfo a signature where
+    overloadedMethod _ = messageStarting
+
 -- method Message::wrote_body
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2381,19 +2567,22 @@
 
 messageWroteBody ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 messageWroteBody _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_message_wrote_body _obj'
     touchManagedPtr _obj
     return ()
 
+data MessageWroteBodyMethodInfo
+instance (signature ~ (m ()), MonadIO m, MessageK a) => MethodInfo MessageWroteBodyMethodInfo a signature where
+    overloadedMethod _ = messageWroteBody
+
 -- method Message::wrote_body_data
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2406,9 +2595,9 @@
 
 messageWroteBodyData ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    Buffer ->                               -- chunk
-    m ()
+    a                                       -- _obj
+    -> Buffer                               -- chunk
+    -> m ()                                 -- result
 messageWroteBodyData _obj chunk = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let chunk' = unsafeManagedPtrGetPtr chunk
@@ -2417,11 +2606,14 @@
     touchManagedPtr chunk
     return ()
 
+data MessageWroteBodyDataMethodInfo
+instance (signature ~ (Buffer -> m ()), MonadIO m, MessageK a) => MethodInfo MessageWroteBodyDataMethodInfo a signature where
+    overloadedMethod _ = messageWroteBodyData
+
 -- method Message::wrote_chunk
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2433,19 +2625,22 @@
 
 messageWroteChunk ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 messageWroteChunk _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_message_wrote_chunk _obj'
     touchManagedPtr _obj
     return ()
 
+data MessageWroteChunkMethodInfo
+instance (signature ~ (m ()), MonadIO m, MessageK a) => MethodInfo MessageWroteChunkMethodInfo a signature where
+    overloadedMethod _ = messageWroteChunk
+
 -- method Message::wrote_headers
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2457,19 +2652,22 @@
 
 messageWroteHeaders ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 messageWroteHeaders _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_message_wrote_headers _obj'
     touchManagedPtr _obj
     return ()
 
+data MessageWroteHeadersMethodInfo
+instance (signature ~ (m ()), MonadIO m, MessageK a) => MethodInfo MessageWroteHeadersMethodInfo a signature where
+    overloadedMethod _ = messageWroteHeaders
+
 -- method Message::wrote_informational
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2481,12 +2679,16 @@
 
 messageWroteInformational ::
     (MonadIO m, MessageK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 messageWroteInformational _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_message_wrote_informational _obj'
     touchManagedPtr _obj
     return ()
+
+data MessageWroteInformationalMethodInfo
+instance (signature ~ (m ()), MonadIO m, MessageK a) => MethodInfo MessageWroteInformationalMethodInfo a signature where
+    overloadedMethod _ = messageWroteInformational
 
 
diff --git a/GI/Soup/Objects/Message.hs-boot b/GI/Soup/Objects/Message.hs-boot
--- a/GI/Soup/Objects/Message.hs-boot
+++ b/GI/Soup/Objects/Message.hs-boot
@@ -42,3 +42,37 @@
 data MessageWroteChunkSignalInfo
 data MessageWroteHeadersSignalInfo
 data MessageWroteInformationalSignalInfo
+data MessageContentSniffedMethodInfo
+data MessageDisableFeatureMethodInfo
+data MessageFinishedMethodInfo
+data MessageGetAddressMethodInfo
+data MessageGetFirstPartyMethodInfo
+data MessageGetFlagsMethodInfo
+data MessageGetHttpVersionMethodInfo
+data MessageGetHttpsStatusMethodInfo
+data MessageGetPriorityMethodInfo
+data MessageGetSoupRequestMethodInfo
+data MessageGetUriMethodInfo
+data MessageGotBodyMethodInfo
+data MessageGotChunkMethodInfo
+data MessageGotHeadersMethodInfo
+data MessageGotInformationalMethodInfo
+data MessageIsKeepaliveMethodInfo
+data MessageRestartedMethodInfo
+data MessageSetChunkAllocatorMethodInfo
+data MessageSetFirstPartyMethodInfo
+data MessageSetFlagsMethodInfo
+data MessageSetHttpVersionMethodInfo
+data MessageSetPriorityMethodInfo
+data MessageSetRedirectMethodInfo
+data MessageSetRequestMethodInfo
+data MessageSetResponseMethodInfo
+data MessageSetStatusMethodInfo
+data MessageSetStatusFullMethodInfo
+data MessageSetUriMethodInfo
+data MessageStartingMethodInfo
+data MessageWroteBodyMethodInfo
+data MessageWroteBodyDataMethodInfo
+data MessageWroteChunkMethodInfo
+data MessageWroteHeadersMethodInfo
+data MessageWroteInformationalMethodInfo
diff --git a/GI/Soup/Objects/MultipartInputStream.hs b/GI/Soup/Objects/MultipartInputStream.hs
--- a/GI/Soup/Objects/MultipartInputStream.hs
+++ b/GI/Soup/Objects/MultipartInputStream.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
 -- ** multipartInputStreamGetHeaders
+    MultipartInputStreamGetHeadersMethodInfo,
     multipartInputStreamGetHeaders          ,
 
 
@@ -25,14 +27,17 @@
 
 
 -- ** multipartInputStreamNextPart
+    MultipartInputStreamNextPartMethodInfo  ,
     multipartInputStreamNextPart            ,
 
 
 -- ** multipartInputStreamNextPartAsync
+    MultipartInputStreamNextPartAsyncMethodInfo,
     multipartInputStreamNextPartAsync       ,
 
 
 -- ** multipartInputStreamNextPartFinish
+    MultipartInputStreamNextPartFinishMethodInfo,
     multipartInputStreamNextPartFinish      ,
 
 
@@ -82,6 +87,69 @@
 noMultipartInputStream :: Maybe MultipartInputStream
 noMultipartInputStream = Nothing
 
+type family ResolveMultipartInputStreamMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMultipartInputStreamMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveMultipartInputStreamMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveMultipartInputStreamMethod "canPoll" o = Gio.PollableInputStreamCanPollMethodInfo
+    ResolveMultipartInputStreamMethod "clearPending" o = Gio.InputStreamClearPendingMethodInfo
+    ResolveMultipartInputStreamMethod "close" o = Gio.InputStreamCloseMethodInfo
+    ResolveMultipartInputStreamMethod "closeAsync" o = Gio.InputStreamCloseAsyncMethodInfo
+    ResolveMultipartInputStreamMethod "closeFinish" o = Gio.InputStreamCloseFinishMethodInfo
+    ResolveMultipartInputStreamMethod "createSource" o = Gio.PollableInputStreamCreateSourceMethodInfo
+    ResolveMultipartInputStreamMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveMultipartInputStreamMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveMultipartInputStreamMethod "hasPending" o = Gio.InputStreamHasPendingMethodInfo
+    ResolveMultipartInputStreamMethod "isClosed" o = Gio.InputStreamIsClosedMethodInfo
+    ResolveMultipartInputStreamMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveMultipartInputStreamMethod "isReadable" o = Gio.PollableInputStreamIsReadableMethodInfo
+    ResolveMultipartInputStreamMethod "nextPart" o = MultipartInputStreamNextPartMethodInfo
+    ResolveMultipartInputStreamMethod "nextPartAsync" o = MultipartInputStreamNextPartAsyncMethodInfo
+    ResolveMultipartInputStreamMethod "nextPartFinish" o = MultipartInputStreamNextPartFinishMethodInfo
+    ResolveMultipartInputStreamMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveMultipartInputStreamMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveMultipartInputStreamMethod "read" o = Gio.InputStreamReadMethodInfo
+    ResolveMultipartInputStreamMethod "readAll" o = Gio.InputStreamReadAllMethodInfo
+    ResolveMultipartInputStreamMethod "readAllAsync" o = Gio.InputStreamReadAllAsyncMethodInfo
+    ResolveMultipartInputStreamMethod "readAllFinish" o = Gio.InputStreamReadAllFinishMethodInfo
+    ResolveMultipartInputStreamMethod "readAsync" o = Gio.InputStreamReadAsyncMethodInfo
+    ResolveMultipartInputStreamMethod "readBytes" o = Gio.InputStreamReadBytesMethodInfo
+    ResolveMultipartInputStreamMethod "readBytesAsync" o = Gio.InputStreamReadBytesAsyncMethodInfo
+    ResolveMultipartInputStreamMethod "readBytesFinish" o = Gio.InputStreamReadBytesFinishMethodInfo
+    ResolveMultipartInputStreamMethod "readFinish" o = Gio.InputStreamReadFinishMethodInfo
+    ResolveMultipartInputStreamMethod "readNonblocking" o = Gio.PollableInputStreamReadNonblockingMethodInfo
+    ResolveMultipartInputStreamMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveMultipartInputStreamMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveMultipartInputStreamMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveMultipartInputStreamMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveMultipartInputStreamMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveMultipartInputStreamMethod "skip" o = Gio.InputStreamSkipMethodInfo
+    ResolveMultipartInputStreamMethod "skipAsync" o = Gio.InputStreamSkipAsyncMethodInfo
+    ResolveMultipartInputStreamMethod "skipFinish" o = Gio.InputStreamSkipFinishMethodInfo
+    ResolveMultipartInputStreamMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveMultipartInputStreamMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveMultipartInputStreamMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveMultipartInputStreamMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveMultipartInputStreamMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveMultipartInputStreamMethod "getBaseStream" o = Gio.FilterInputStreamGetBaseStreamMethodInfo
+    ResolveMultipartInputStreamMethod "getCloseBaseStream" o = Gio.FilterInputStreamGetCloseBaseStreamMethodInfo
+    ResolveMultipartInputStreamMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveMultipartInputStreamMethod "getHeaders" o = MultipartInputStreamGetHeadersMethodInfo
+    ResolveMultipartInputStreamMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveMultipartInputStreamMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveMultipartInputStreamMethod "setCloseBaseStream" o = Gio.FilterInputStreamSetCloseBaseStreamMethodInfo
+    ResolveMultipartInputStreamMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveMultipartInputStreamMethod "setPending" o = Gio.InputStreamSetPendingMethodInfo
+    ResolveMultipartInputStreamMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveMultipartInputStreamMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveMultipartInputStreamMethod t MultipartInputStream, MethodInfo info MultipartInputStream p) => IsLabelProxy t (MultipartInputStream -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveMultipartInputStreamMethod t MultipartInputStream, MethodInfo info MultipartInputStream p) => IsLabel t (MultipartInputStream -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- VVV Prop "message"
    -- Type: TInterface "Soup" "Message"
    -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
@@ -98,22 +166,21 @@
     type AttrSetTypeConstraint MultipartInputStreamMessagePropertyInfo = MessageK
     type AttrBaseTypeConstraint MultipartInputStreamMessagePropertyInfo = MultipartInputStreamK
     type AttrGetType MultipartInputStreamMessagePropertyInfo = Message
-    type AttrLabel MultipartInputStreamMessagePropertyInfo = "MultipartInputStream::message"
+    type AttrLabel MultipartInputStreamMessagePropertyInfo = "message"
     attrGet _ = getMultipartInputStreamMessage
     attrSet _ = undefined
     attrConstruct _ = constructMultipartInputStreamMessage
 
 type instance AttributeList MultipartInputStream = MultipartInputStreamAttributeList
-type MultipartInputStreamAttributeList = ('[ '("base-stream", Gio.FilterInputStreamBaseStreamPropertyInfo), '("close-base-stream", Gio.FilterInputStreamCloseBaseStreamPropertyInfo), '("message", MultipartInputStreamMessagePropertyInfo)] :: [(Symbol, *)])
+type MultipartInputStreamAttributeList = ('[ '("baseStream", Gio.FilterInputStreamBaseStreamPropertyInfo), '("closeBaseStream", Gio.FilterInputStreamCloseBaseStreamPropertyInfo), '("message", MultipartInputStreamMessagePropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList MultipartInputStream = MultipartInputStreamSignalList
-type MultipartInputStreamSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type MultipartInputStreamSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method MultipartInputStream::new
 -- method type : Constructor
--- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_stream", argType = TInterface "Gio" "InputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "base_stream", argType = TInterface "Gio" "InputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_stream", argType = TInterface "Gio" "InputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "MultipartInputStream"
 -- throws : False
 -- Skip return : False
@@ -126,24 +193,23 @@
 
 multipartInputStreamNew ::
     (MonadIO m, MessageK a, Gio.InputStreamK b) =>
-    a ->                                    -- msg
-    b ->                                    -- base_stream
-    m MultipartInputStream
-multipartInputStreamNew msg base_stream = liftIO $ do
+    a                                       -- msg
+    -> b                                    -- baseStream
+    -> m MultipartInputStream               -- result
+multipartInputStreamNew msg baseStream = liftIO $ do
     let msg' = unsafeManagedPtrCastPtr msg
-    let base_stream' = unsafeManagedPtrCastPtr base_stream
-    result <- soup_multipart_input_stream_new msg' base_stream'
+    let baseStream' = unsafeManagedPtrCastPtr baseStream
+    result <- soup_multipart_input_stream_new msg' baseStream'
     checkUnexpectedReturnNULL "soup_multipart_input_stream_new" result
     result' <- (wrapObject MultipartInputStream) result
     touchManagedPtr msg
-    touchManagedPtr base_stream
+    touchManagedPtr baseStream
     return result'
 
 -- method MultipartInputStream::get_headers
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "MessageHeaders"
 -- throws : False
 -- Skip return : False
@@ -155,8 +221,8 @@
 
 multipartInputStreamGetHeaders ::
     (MonadIO m, MultipartInputStreamK a) =>
-    a ->                                    -- _obj
-    m MessageHeaders
+    a                                       -- _obj
+    -> m MessageHeaders                     -- result
 multipartInputStreamGetHeaders _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_multipart_input_stream_get_headers _obj'
@@ -165,11 +231,14 @@
     touchManagedPtr _obj
     return result'
 
+data MultipartInputStreamGetHeadersMethodInfo
+instance (signature ~ (m MessageHeaders), MonadIO m, MultipartInputStreamK a) => MethodInfo MultipartInputStreamGetHeadersMethodInfo a signature where
+    overloadedMethod _ = multipartInputStreamGetHeaders
+
 -- method MultipartInputStream::next_part
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Gio" "InputStream"
 -- throws : True
 -- Skip return : False
@@ -183,9 +252,9 @@
 
 multipartInputStreamNextPart ::
     (MonadIO m, MultipartInputStreamK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    Maybe (b) ->                            -- cancellable
-    m Gio.InputStream
+    a                                       -- _obj
+    -> Maybe (b)                            -- cancellable
+    -> m Gio.InputStream                    -- result
 multipartInputStreamNextPart _obj cancellable = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeCancellable <- case cancellable of
@@ -204,11 +273,14 @@
         return ()
      )
 
+data MultipartInputStreamNextPartMethodInfo
+instance (signature ~ (Maybe (b) -> m Gio.InputStream), MonadIO m, MultipartInputStreamK a, Gio.CancellableK b) => MethodInfo MultipartInputStreamNextPartMethodInfo a signature where
+    overloadedMethod _ = multipartInputStreamNextPart
+
 -- method MultipartInputStream::next_part_async
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "io_priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, 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 "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "io_priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, 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 "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "io_priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -224,12 +296,12 @@
 
 multipartInputStreamNextPartAsync ::
     (MonadIO m, MultipartInputStreamK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- io_priority
-    Maybe (b) ->                            -- cancellable
-    Maybe (Gio.AsyncReadyCallback) ->       -- callback
-    m ()
-multipartInputStreamNextPartAsync _obj io_priority cancellable callback = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- ioPriority
+    -> Maybe (b)                            -- cancellable
+    -> Maybe (Gio.AsyncReadyCallback)       -- callback
+    -> m ()                                 -- result
+multipartInputStreamNextPartAsync _obj ioPriority cancellable callback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeCancellable <- case cancellable of
         Nothing -> return nullPtr
@@ -244,16 +316,19 @@
             poke ptrcallback jCallback'
             return jCallback'
     let data_ = nullPtr
-    soup_multipart_input_stream_next_part_async _obj' io_priority maybeCancellable maybeCallback data_
+    soup_multipart_input_stream_next_part_async _obj' ioPriority maybeCancellable maybeCallback data_
     touchManagedPtr _obj
     whenJust cancellable touchManagedPtr
     return ()
 
+data MultipartInputStreamNextPartAsyncMethodInfo
+instance (signature ~ (Int32 -> Maybe (b) -> Maybe (Gio.AsyncReadyCallback) -> m ()), MonadIO m, MultipartInputStreamK a, Gio.CancellableK b) => MethodInfo MultipartInputStreamNextPartAsyncMethodInfo a signature where
+    overloadedMethod _ = multipartInputStreamNextPartAsync
+
 -- method MultipartInputStream::next_part_finish
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Gio" "InputStream"
 -- throws : True
 -- Skip return : False
@@ -267,9 +342,9 @@
 
 multipartInputStreamNextPartFinish ::
     (MonadIO m, MultipartInputStreamK a, Gio.AsyncResultK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- result
-    m Gio.InputStream
+    a                                       -- _obj
+    -> b                                    -- result_
+    -> m Gio.InputStream                    -- result
 multipartInputStreamNextPartFinish _obj result_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let result_' = unsafeManagedPtrCastPtr result_
@@ -283,5 +358,9 @@
      ) (do
         return ()
      )
+
+data MultipartInputStreamNextPartFinishMethodInfo
+instance (signature ~ (b -> m Gio.InputStream), MonadIO m, MultipartInputStreamK a, Gio.AsyncResultK b) => MethodInfo MultipartInputStreamNextPartFinishMethodInfo a signature where
+    overloadedMethod _ = multipartInputStreamNextPartFinish
 
 
diff --git a/GI/Soup/Objects/MultipartInputStream.hs-boot b/GI/Soup/Objects/MultipartInputStream.hs-boot
--- a/GI/Soup/Objects/MultipartInputStream.hs-boot
+++ b/GI/Soup/Objects/MultipartInputStream.hs-boot
@@ -12,3 +12,7 @@
 class GObject o => MultipartInputStreamK o
 instance (GObject o, IsDescendantOf MultipartInputStream o) => MultipartInputStreamK o
 data MultipartInputStreamMessagePropertyInfo
+data MultipartInputStreamGetHeadersMethodInfo
+data MultipartInputStreamNextPartMethodInfo
+data MultipartInputStreamNextPartAsyncMethodInfo
+data MultipartInputStreamNextPartFinishMethodInfo
diff --git a/GI/Soup/Objects/ProxyResolverDefault.hs b/GI/Soup/Objects/ProxyResolverDefault.hs
--- a/GI/Soup/Objects/ProxyResolverDefault.hs
+++ b/GI/Soup/Objects/ProxyResolverDefault.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -59,6 +60,46 @@
 noProxyResolverDefault :: Maybe ProxyResolverDefault
 noProxyResolverDefault = Nothing
 
+type family ResolveProxyResolverDefaultMethod (t :: Symbol) (o :: *) :: * where
+    ResolveProxyResolverDefaultMethod "addFeature" o = SessionFeatureAddFeatureMethodInfo
+    ResolveProxyResolverDefaultMethod "attach" o = SessionFeatureAttachMethodInfo
+    ResolveProxyResolverDefaultMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveProxyResolverDefaultMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveProxyResolverDefaultMethod "detach" o = SessionFeatureDetachMethodInfo
+    ResolveProxyResolverDefaultMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveProxyResolverDefaultMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveProxyResolverDefaultMethod "hasFeature" o = SessionFeatureHasFeatureMethodInfo
+    ResolveProxyResolverDefaultMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveProxyResolverDefaultMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveProxyResolverDefaultMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveProxyResolverDefaultMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveProxyResolverDefaultMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveProxyResolverDefaultMethod "removeFeature" o = SessionFeatureRemoveFeatureMethodInfo
+    ResolveProxyResolverDefaultMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveProxyResolverDefaultMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveProxyResolverDefaultMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveProxyResolverDefaultMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveProxyResolverDefaultMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveProxyResolverDefaultMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveProxyResolverDefaultMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveProxyResolverDefaultMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveProxyResolverDefaultMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveProxyResolverDefaultMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveProxyResolverDefaultMethod "getProxyUriAsync" o = ProxyURIResolverGetProxyUriAsyncMethodInfo
+    ResolveProxyResolverDefaultMethod "getProxyUriSync" o = ProxyURIResolverGetProxyUriSyncMethodInfo
+    ResolveProxyResolverDefaultMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveProxyResolverDefaultMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveProxyResolverDefaultMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveProxyResolverDefaultMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveProxyResolverDefaultMethod t ProxyResolverDefault, MethodInfo info ProxyResolverDefault p) => IsLabelProxy t (ProxyResolverDefault -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveProxyResolverDefaultMethod t ProxyResolverDefault, MethodInfo info ProxyResolverDefault p) => IsLabel t (ProxyResolverDefault -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- VVV Prop "gproxy-resolver"
    -- Type: TInterface "Gio" "ProxyResolver"
    -- Flags: [PropertyWritable]
@@ -75,15 +116,15 @@
     type AttrSetTypeConstraint ProxyResolverDefaultGproxyResolverPropertyInfo = Gio.ProxyResolverK
     type AttrBaseTypeConstraint ProxyResolverDefaultGproxyResolverPropertyInfo = ProxyResolverDefaultK
     type AttrGetType ProxyResolverDefaultGproxyResolverPropertyInfo = ()
-    type AttrLabel ProxyResolverDefaultGproxyResolverPropertyInfo = "ProxyResolverDefault::gproxy-resolver"
+    type AttrLabel ProxyResolverDefaultGproxyResolverPropertyInfo = "gproxy-resolver"
     attrGet _ = undefined
     attrSet _ = setProxyResolverDefaultGproxyResolver
     attrConstruct _ = constructProxyResolverDefaultGproxyResolver
 
 type instance AttributeList ProxyResolverDefault = ProxyResolverDefaultAttributeList
-type ProxyResolverDefaultAttributeList = ('[ '("gproxy-resolver", ProxyResolverDefaultGproxyResolverPropertyInfo)] :: [(Symbol, *)])
+type ProxyResolverDefaultAttributeList = ('[ '("gproxyResolver", ProxyResolverDefaultGproxyResolverPropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList ProxyResolverDefault = ProxyResolverDefaultSignalList
-type ProxyResolverDefaultSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type ProxyResolverDefaultSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 
diff --git a/GI/Soup/Objects/Request.hs b/GI/Soup/Objects/Request.hs
--- a/GI/Soup/Objects/Request.hs
+++ b/GI/Soup/Objects/Request.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
 -- ** requestGetContentLength
+    RequestGetContentLengthMethodInfo       ,
     requestGetContentLength                 ,
 
 
 -- ** requestGetContentType
+    RequestGetContentTypeMethodInfo         ,
     requestGetContentType                   ,
 
 
 -- ** requestGetSession
+    RequestGetSessionMethodInfo             ,
     requestGetSession                       ,
 
 
 -- ** requestGetUri
+    RequestGetUriMethodInfo                 ,
     requestGetUri                           ,
 
 
 -- ** requestSend
+    RequestSendMethodInfo                   ,
     requestSend                             ,
 
 
 -- ** requestSendAsync
+    RequestSendAsyncMethodInfo              ,
     requestSendAsync                        ,
 
 
 -- ** requestSendFinish
+    RequestSendFinishMethodInfo             ,
     requestSendFinish                       ,
 
 
@@ -96,6 +104,47 @@
 noRequest :: Maybe Request
 noRequest = Nothing
 
+type family ResolveRequestMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRequestMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveRequestMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveRequestMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveRequestMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveRequestMethod "init" o = Gio.InitableInitMethodInfo
+    ResolveRequestMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveRequestMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveRequestMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveRequestMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveRequestMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveRequestMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveRequestMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveRequestMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveRequestMethod "send" o = RequestSendMethodInfo
+    ResolveRequestMethod "sendAsync" o = RequestSendAsyncMethodInfo
+    ResolveRequestMethod "sendFinish" o = RequestSendFinishMethodInfo
+    ResolveRequestMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveRequestMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveRequestMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveRequestMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveRequestMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveRequestMethod "getContentLength" o = RequestGetContentLengthMethodInfo
+    ResolveRequestMethod "getContentType" o = RequestGetContentTypeMethodInfo
+    ResolveRequestMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveRequestMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveRequestMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveRequestMethod "getSession" o = RequestGetSessionMethodInfo
+    ResolveRequestMethod "getUri" o = RequestGetUriMethodInfo
+    ResolveRequestMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveRequestMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveRequestMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveRequestMethod t Request, MethodInfo info Request p) => IsLabelProxy t (Request -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveRequestMethod t Request, MethodInfo info Request p) => IsLabel t (Request -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- VVV Prop "session"
    -- Type: TInterface "Soup" "Session"
    -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
@@ -112,7 +161,7 @@
     type AttrSetTypeConstraint RequestSessionPropertyInfo = SessionK
     type AttrBaseTypeConstraint RequestSessionPropertyInfo = RequestK
     type AttrGetType RequestSessionPropertyInfo = Session
-    type AttrLabel RequestSessionPropertyInfo = "Request::session"
+    type AttrLabel RequestSessionPropertyInfo = "session"
     attrGet _ = getRequestSession
     attrSet _ = undefined
     attrConstruct _ = constructRequestSession
@@ -133,7 +182,7 @@
     type AttrSetTypeConstraint RequestUriPropertyInfo = (~) URI
     type AttrBaseTypeConstraint RequestUriPropertyInfo = RequestK
     type AttrGetType RequestUriPropertyInfo = URI
-    type AttrLabel RequestUriPropertyInfo = "Request::uri"
+    type AttrLabel RequestUriPropertyInfo = "uri"
     attrGet _ = getRequestUri
     attrSet _ = undefined
     attrConstruct _ = constructRequestUri
@@ -142,13 +191,12 @@
 type RequestAttributeList = ('[ '("session", RequestSessionPropertyInfo), '("uri", RequestUriPropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList Request = RequestSignalList
-type RequestSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type RequestSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Request::get_content_length
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt64
 -- throws : False
 -- Skip return : False
@@ -160,19 +208,22 @@
 
 requestGetContentLength ::
     (MonadIO m, RequestK a) =>
-    a ->                                    -- _obj
-    m Int64
+    a                                       -- _obj
+    -> m Int64                              -- result
 requestGetContentLength _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_request_get_content_length _obj'
     touchManagedPtr _obj
     return result
 
+data RequestGetContentLengthMethodInfo
+instance (signature ~ (m Int64), MonadIO m, RequestK a) => MethodInfo RequestGetContentLengthMethodInfo a signature where
+    overloadedMethod _ = requestGetContentLength
+
 -- method Request::get_content_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -184,8 +235,8 @@
 
 requestGetContentType ::
     (MonadIO m, RequestK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 requestGetContentType _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_request_get_content_type _obj'
@@ -194,11 +245,14 @@
     touchManagedPtr _obj
     return result'
 
+data RequestGetContentTypeMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, RequestK a) => MethodInfo RequestGetContentTypeMethodInfo a signature where
+    overloadedMethod _ = requestGetContentType
+
 -- method Request::get_session
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Session"
 -- throws : False
 -- Skip return : False
@@ -210,8 +264,8 @@
 
 requestGetSession ::
     (MonadIO m, RequestK a) =>
-    a ->                                    -- _obj
-    m Session
+    a                                       -- _obj
+    -> m Session                            -- result
 requestGetSession _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_request_get_session _obj'
@@ -220,11 +274,14 @@
     touchManagedPtr _obj
     return result'
 
+data RequestGetSessionMethodInfo
+instance (signature ~ (m Session), MonadIO m, RequestK a) => MethodInfo RequestGetSessionMethodInfo a signature where
+    overloadedMethod _ = requestGetSession
+
 -- method Request::get_uri
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "URI"
 -- throws : False
 -- Skip return : False
@@ -236,8 +293,8 @@
 
 requestGetUri ::
     (MonadIO m, RequestK a) =>
-    a ->                                    -- _obj
-    m URI
+    a                                       -- _obj
+    -> m URI                                -- result
 requestGetUri _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_request_get_uri _obj'
@@ -246,11 +303,14 @@
     touchManagedPtr _obj
     return result'
 
+data RequestGetUriMethodInfo
+instance (signature ~ (m URI), MonadIO m, RequestK a) => MethodInfo RequestGetUriMethodInfo a signature where
+    overloadedMethod _ = requestGetUri
+
 -- method Request::send
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Gio" "InputStream"
 -- throws : True
 -- Skip return : False
@@ -264,9 +324,9 @@
 
 requestSend ::
     (MonadIO m, RequestK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    Maybe (b) ->                            -- cancellable
-    m Gio.InputStream
+    a                                       -- _obj
+    -> Maybe (b)                            -- cancellable
+    -> m Gio.InputStream                    -- result
 requestSend _obj cancellable = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeCancellable <- case cancellable of
@@ -285,11 +345,14 @@
         return ()
      )
 
+data RequestSendMethodInfo
+instance (signature ~ (Maybe (b) -> m Gio.InputStream), MonadIO m, RequestK a, Gio.CancellableK b) => MethodInfo RequestSendMethodInfo a signature where
+    overloadedMethod _ = requestSend
+
 -- method Request::send_async
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_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 "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -304,10 +367,10 @@
 
 requestSendAsync ::
     (MonadIO m, RequestK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    Maybe (b) ->                            -- cancellable
-    Maybe (Gio.AsyncReadyCallback) ->       -- callback
-    m ()
+    a                                       -- _obj
+    -> Maybe (b)                            -- cancellable
+    -> Maybe (Gio.AsyncReadyCallback)       -- callback
+    -> m ()                                 -- result
 requestSendAsync _obj cancellable callback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeCancellable <- case cancellable of
@@ -322,17 +385,20 @@
             jCallback' <- Gio.mkAsyncReadyCallback (Gio.asyncReadyCallbackWrapper (Just ptrcallback) jCallback)
             poke ptrcallback jCallback'
             return jCallback'
-    let user_data = nullPtr
-    soup_request_send_async _obj' maybeCancellable maybeCallback user_data
+    let userData = nullPtr
+    soup_request_send_async _obj' maybeCancellable maybeCallback userData
     touchManagedPtr _obj
     whenJust cancellable touchManagedPtr
     return ()
 
+data RequestSendAsyncMethodInfo
+instance (signature ~ (Maybe (b) -> Maybe (Gio.AsyncReadyCallback) -> m ()), MonadIO m, RequestK a, Gio.CancellableK b) => MethodInfo RequestSendAsyncMethodInfo a signature where
+    overloadedMethod _ = requestSendAsync
+
 -- method Request::send_finish
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Gio" "InputStream"
 -- throws : True
 -- Skip return : False
@@ -346,9 +412,9 @@
 
 requestSendFinish ::
     (MonadIO m, RequestK a, Gio.AsyncResultK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- result
-    m Gio.InputStream
+    a                                       -- _obj
+    -> b                                    -- result_
+    -> m Gio.InputStream                    -- result
 requestSendFinish _obj result_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let result_' = unsafeManagedPtrCastPtr result_
@@ -362,5 +428,9 @@
      ) (do
         return ()
      )
+
+data RequestSendFinishMethodInfo
+instance (signature ~ (b -> m Gio.InputStream), MonadIO m, RequestK a, Gio.AsyncResultK b) => MethodInfo RequestSendFinishMethodInfo a signature where
+    overloadedMethod _ = requestSendFinish
 
 
diff --git a/GI/Soup/Objects/Request.hs-boot b/GI/Soup/Objects/Request.hs-boot
--- a/GI/Soup/Objects/Request.hs-boot
+++ b/GI/Soup/Objects/Request.hs-boot
@@ -13,3 +13,10 @@
 instance (GObject o, IsDescendantOf Request o) => RequestK o
 data RequestSessionPropertyInfo
 data RequestUriPropertyInfo
+data RequestGetContentLengthMethodInfo
+data RequestGetContentTypeMethodInfo
+data RequestGetSessionMethodInfo
+data RequestGetUriMethodInfo
+data RequestSendMethodInfo
+data RequestSendAsyncMethodInfo
+data RequestSendFinishMethodInfo
diff --git a/GI/Soup/Objects/RequestData.hs b/GI/Soup/Objects/RequestData.hs
--- a/GI/Soup/Objects/RequestData.hs
+++ b/GI/Soup/Objects/RequestData.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -50,10 +51,51 @@
 noRequestData :: Maybe RequestData
 noRequestData = Nothing
 
+type family ResolveRequestDataMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRequestDataMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveRequestDataMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveRequestDataMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveRequestDataMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveRequestDataMethod "init" o = Gio.InitableInitMethodInfo
+    ResolveRequestDataMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveRequestDataMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveRequestDataMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveRequestDataMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveRequestDataMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveRequestDataMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveRequestDataMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveRequestDataMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveRequestDataMethod "send" o = RequestSendMethodInfo
+    ResolveRequestDataMethod "sendAsync" o = RequestSendAsyncMethodInfo
+    ResolveRequestDataMethod "sendFinish" o = RequestSendFinishMethodInfo
+    ResolveRequestDataMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveRequestDataMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveRequestDataMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveRequestDataMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveRequestDataMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveRequestDataMethod "getContentLength" o = RequestGetContentLengthMethodInfo
+    ResolveRequestDataMethod "getContentType" o = RequestGetContentTypeMethodInfo
+    ResolveRequestDataMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveRequestDataMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveRequestDataMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveRequestDataMethod "getSession" o = RequestGetSessionMethodInfo
+    ResolveRequestDataMethod "getUri" o = RequestGetUriMethodInfo
+    ResolveRequestDataMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveRequestDataMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveRequestDataMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveRequestDataMethod t RequestData, MethodInfo info RequestData p) => IsLabelProxy t (RequestData -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveRequestDataMethod t RequestData, MethodInfo info RequestData p) => IsLabel t (RequestData -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList RequestData = RequestDataAttributeList
 type RequestDataAttributeList = ('[ '("session", RequestSessionPropertyInfo), '("uri", RequestUriPropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList RequestData = RequestDataSignalList
-type RequestDataSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type RequestDataSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 
diff --git a/GI/Soup/Objects/RequestFile.hs b/GI/Soup/Objects/RequestFile.hs
--- a/GI/Soup/Objects/RequestFile.hs
+++ b/GI/Soup/Objects/RequestFile.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
 -- ** requestFileGetFile
+    RequestFileGetFileMethodInfo            ,
     requestFileGetFile                      ,
 
 
@@ -57,17 +59,58 @@
 noRequestFile :: Maybe RequestFile
 noRequestFile = Nothing
 
+type family ResolveRequestFileMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRequestFileMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveRequestFileMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveRequestFileMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveRequestFileMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveRequestFileMethod "init" o = Gio.InitableInitMethodInfo
+    ResolveRequestFileMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveRequestFileMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveRequestFileMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveRequestFileMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveRequestFileMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveRequestFileMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveRequestFileMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveRequestFileMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveRequestFileMethod "send" o = RequestSendMethodInfo
+    ResolveRequestFileMethod "sendAsync" o = RequestSendAsyncMethodInfo
+    ResolveRequestFileMethod "sendFinish" o = RequestSendFinishMethodInfo
+    ResolveRequestFileMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveRequestFileMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveRequestFileMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveRequestFileMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveRequestFileMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveRequestFileMethod "getContentLength" o = RequestGetContentLengthMethodInfo
+    ResolveRequestFileMethod "getContentType" o = RequestGetContentTypeMethodInfo
+    ResolveRequestFileMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveRequestFileMethod "getFile" o = RequestFileGetFileMethodInfo
+    ResolveRequestFileMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveRequestFileMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveRequestFileMethod "getSession" o = RequestGetSessionMethodInfo
+    ResolveRequestFileMethod "getUri" o = RequestGetUriMethodInfo
+    ResolveRequestFileMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveRequestFileMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveRequestFileMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveRequestFileMethod t RequestFile, MethodInfo info RequestFile p) => IsLabelProxy t (RequestFile -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveRequestFileMethod t RequestFile, MethodInfo info RequestFile p) => IsLabel t (RequestFile -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList RequestFile = RequestFileAttributeList
 type RequestFileAttributeList = ('[ '("session", RequestSessionPropertyInfo), '("uri", RequestUriPropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList RequestFile = RequestFileSignalList
-type RequestFileSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type RequestFileSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method RequestFile::get_file
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "RequestFile", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "RequestFile", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "RequestFile", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Gio" "File"
 -- throws : False
 -- Skip return : False
@@ -79,8 +122,8 @@
 
 requestFileGetFile ::
     (MonadIO m, RequestFileK a) =>
-    a ->                                    -- _obj
-    m Gio.File
+    a                                       -- _obj
+    -> m Gio.File                           -- result
 requestFileGetFile _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_request_file_get_file _obj'
@@ -88,5 +131,9 @@
     result' <- (wrapObject Gio.File) result
     touchManagedPtr _obj
     return result'
+
+data RequestFileGetFileMethodInfo
+instance (signature ~ (m Gio.File), MonadIO m, RequestFileK a) => MethodInfo RequestFileGetFileMethodInfo a signature where
+    overloadedMethod _ = requestFileGetFile
 
 
diff --git a/GI/Soup/Objects/RequestFile.hs-boot b/GI/Soup/Objects/RequestFile.hs-boot
--- a/GI/Soup/Objects/RequestFile.hs-boot
+++ b/GI/Soup/Objects/RequestFile.hs-boot
@@ -11,3 +11,4 @@
 instance GObject RequestFile where
 class GObject o => RequestFileK o
 instance (GObject o, IsDescendantOf RequestFile o) => RequestFileK o
+data RequestFileGetFileMethodInfo
diff --git a/GI/Soup/Objects/RequestHTTP.hs b/GI/Soup/Objects/RequestHTTP.hs
--- a/GI/Soup/Objects/RequestHTTP.hs
+++ b/GI/Soup/Objects/RequestHTTP.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
 -- ** requestHTTPGetMessage
+    RequestHTTPGetMessageMethodInfo         ,
     requestHTTPGetMessage                   ,
 
 
@@ -57,17 +59,58 @@
 noRequestHTTP :: Maybe RequestHTTP
 noRequestHTTP = Nothing
 
+type family ResolveRequestHTTPMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRequestHTTPMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveRequestHTTPMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveRequestHTTPMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveRequestHTTPMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveRequestHTTPMethod "init" o = Gio.InitableInitMethodInfo
+    ResolveRequestHTTPMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveRequestHTTPMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveRequestHTTPMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveRequestHTTPMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveRequestHTTPMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveRequestHTTPMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveRequestHTTPMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveRequestHTTPMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveRequestHTTPMethod "send" o = RequestSendMethodInfo
+    ResolveRequestHTTPMethod "sendAsync" o = RequestSendAsyncMethodInfo
+    ResolveRequestHTTPMethod "sendFinish" o = RequestSendFinishMethodInfo
+    ResolveRequestHTTPMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveRequestHTTPMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveRequestHTTPMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveRequestHTTPMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveRequestHTTPMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveRequestHTTPMethod "getContentLength" o = RequestGetContentLengthMethodInfo
+    ResolveRequestHTTPMethod "getContentType" o = RequestGetContentTypeMethodInfo
+    ResolveRequestHTTPMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveRequestHTTPMethod "getMessage" o = RequestHTTPGetMessageMethodInfo
+    ResolveRequestHTTPMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveRequestHTTPMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveRequestHTTPMethod "getSession" o = RequestGetSessionMethodInfo
+    ResolveRequestHTTPMethod "getUri" o = RequestGetUriMethodInfo
+    ResolveRequestHTTPMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveRequestHTTPMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveRequestHTTPMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveRequestHTTPMethod t RequestHTTP, MethodInfo info RequestHTTP p) => IsLabelProxy t (RequestHTTP -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveRequestHTTPMethod t RequestHTTP, MethodInfo info RequestHTTP p) => IsLabel t (RequestHTTP -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList RequestHTTP = RequestHTTPAttributeList
 type RequestHTTPAttributeList = ('[ '("session", RequestSessionPropertyInfo), '("uri", RequestUriPropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList RequestHTTP = RequestHTTPSignalList
-type RequestHTTPSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type RequestHTTPSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method RequestHTTP::get_message
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "RequestHTTP", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "RequestHTTP", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "RequestHTTP", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Message"
 -- throws : False
 -- Skip return : False
@@ -79,8 +122,8 @@
 
 requestHTTPGetMessage ::
     (MonadIO m, RequestHTTPK a) =>
-    a ->                                    -- _obj
-    m Message
+    a                                       -- _obj
+    -> m Message                            -- result
 requestHTTPGetMessage _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_request_http_get_message _obj'
@@ -88,5 +131,9 @@
     result' <- (wrapObject Message) result
     touchManagedPtr _obj
     return result'
+
+data RequestHTTPGetMessageMethodInfo
+instance (signature ~ (m Message), MonadIO m, RequestHTTPK a) => MethodInfo RequestHTTPGetMessageMethodInfo a signature where
+    overloadedMethod _ = requestHTTPGetMessage
 
 
diff --git a/GI/Soup/Objects/RequestHTTP.hs-boot b/GI/Soup/Objects/RequestHTTP.hs-boot
--- a/GI/Soup/Objects/RequestHTTP.hs-boot
+++ b/GI/Soup/Objects/RequestHTTP.hs-boot
@@ -11,3 +11,4 @@
 instance GObject RequestHTTP where
 class GObject o => RequestHTTPK o
 instance (GObject o, IsDescendantOf RequestHTTP o) => RequestHTTPK o
+data RequestHTTPGetMessageMethodInfo
diff --git a/GI/Soup/Objects/Requester.hs b/GI/Soup/Objects/Requester.hs
--- a/GI/Soup/Objects/Requester.hs
+++ b/GI/Soup/Objects/Requester.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -21,10 +22,12 @@
 
 
 -- ** requesterRequest
+    RequesterRequestMethodInfo              ,
     requesterRequest                        ,
 
 
 -- ** requesterRequestUri
+    RequesterRequestUriMethodInfo           ,
     requesterRequestUri                     ,
 
 
@@ -64,17 +67,56 @@
 noRequester :: Maybe Requester
 noRequester = Nothing
 
+type family ResolveRequesterMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRequesterMethod "addFeature" o = SessionFeatureAddFeatureMethodInfo
+    ResolveRequesterMethod "attach" o = SessionFeatureAttachMethodInfo
+    ResolveRequesterMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveRequesterMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveRequesterMethod "detach" o = SessionFeatureDetachMethodInfo
+    ResolveRequesterMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveRequesterMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveRequesterMethod "hasFeature" o = SessionFeatureHasFeatureMethodInfo
+    ResolveRequesterMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveRequesterMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveRequesterMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveRequesterMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveRequesterMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveRequesterMethod "removeFeature" o = SessionFeatureRemoveFeatureMethodInfo
+    ResolveRequesterMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveRequesterMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveRequesterMethod "request" o = RequesterRequestMethodInfo
+    ResolveRequesterMethod "requestUri" o = RequesterRequestUriMethodInfo
+    ResolveRequesterMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveRequesterMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveRequesterMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveRequesterMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveRequesterMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveRequesterMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveRequesterMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveRequesterMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveRequesterMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveRequesterMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveRequesterMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveRequesterMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveRequesterMethod t Requester, MethodInfo info Requester p) => IsLabelProxy t (Requester -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveRequesterMethod t Requester, MethodInfo info Requester p) => IsLabel t (Requester -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Requester = RequesterAttributeList
 type RequesterAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList Requester = RequesterSignalList
-type RequesterSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type RequesterSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Requester::new
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Soup" "Requester"
 -- throws : False
 -- Skip return : False
@@ -85,7 +127,7 @@
 
 requesterNew ::
     (MonadIO m) =>
-    m Requester
+    m Requester                             -- result
 requesterNew  = liftIO $ do
     result <- soup_requester_new
     checkUnexpectedReturnNULL "soup_requester_new" result
@@ -94,9 +136,8 @@
 
 -- method Requester::request
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Requester", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Requester", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Requester", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Request"
 -- throws : True
 -- Skip return : False
@@ -110,28 +151,31 @@
 
 requesterRequest ::
     (MonadIO m, RequesterK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- uri_string
-    m Request
-requesterRequest _obj uri_string = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- uriString
+    -> m Request                            -- result
+requesterRequest _obj uriString = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    uri_string' <- textToCString uri_string
+    uriString' <- textToCString uriString
     onException (do
-        result <- propagateGError $ soup_requester_request _obj' uri_string'
+        result <- propagateGError $ soup_requester_request _obj' uriString'
         checkUnexpectedReturnNULL "soup_requester_request" result
         result' <- (wrapObject Request) result
         touchManagedPtr _obj
-        freeMem uri_string'
+        freeMem uriString'
         return result'
      ) (do
-        freeMem uri_string'
+        freeMem uriString'
      )
 
+data RequesterRequestMethodInfo
+instance (signature ~ (T.Text -> m Request), MonadIO m, RequesterK a) => MethodInfo RequesterRequestMethodInfo a signature where
+    overloadedMethod _ = requesterRequest
+
 -- method Requester::request_uri
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Requester", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Requester", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Requester", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Request"
 -- throws : True
 -- Skip return : False
@@ -145,9 +189,9 @@
 
 requesterRequestUri ::
     (MonadIO m, RequesterK a) =>
-    a ->                                    -- _obj
-    URI ->                                  -- uri
-    m Request
+    a                                       -- _obj
+    -> URI                                  -- uri
+    -> m Request                            -- result
 requesterRequestUri _obj uri = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let uri' = unsafeManagedPtrGetPtr uri
@@ -161,5 +205,9 @@
      ) (do
         return ()
      )
+
+data RequesterRequestUriMethodInfo
+instance (signature ~ (URI -> m Request), MonadIO m, RequesterK a) => MethodInfo RequesterRequestUriMethodInfo a signature where
+    overloadedMethod _ = requesterRequestUri
 
 
diff --git a/GI/Soup/Objects/Requester.hs-boot b/GI/Soup/Objects/Requester.hs-boot
--- a/GI/Soup/Objects/Requester.hs-boot
+++ b/GI/Soup/Objects/Requester.hs-boot
@@ -11,3 +11,5 @@
 instance GObject Requester where
 class GObject o => RequesterK o
 instance (GObject o, IsDescendantOf Requester o) => RequesterK o
+data RequesterRequestMethodInfo
+data RequesterRequestUriMethodInfo
diff --git a/GI/Soup/Objects/Server.hs b/GI/Soup/Objects/Server.hs
--- a/GI/Soup/Objects/Server.hs
+++ b/GI/Soup/Objects/Server.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,102 +18,127 @@
 
  -- * Methods
 -- ** serverAcceptIostream
+    ServerAcceptIostreamMethodInfo          ,
     serverAcceptIostream                    ,
 
 
 -- ** serverAddAuthDomain
+    ServerAddAuthDomainMethodInfo           ,
     serverAddAuthDomain                     ,
 
 
 -- ** serverAddEarlyHandler
+    ServerAddEarlyHandlerMethodInfo         ,
     serverAddEarlyHandler                   ,
 
 
 -- ** serverAddHandler
+    ServerAddHandlerMethodInfo              ,
     serverAddHandler                        ,
 
 
 -- ** serverAddWebsocketHandler
+    ServerAddWebsocketHandlerMethodInfo     ,
     serverAddWebsocketHandler               ,
 
 
 -- ** serverDisconnect
+    ServerDisconnectMethodInfo              ,
     serverDisconnect                        ,
 
 
 -- ** serverGetAsyncContext
+    ServerGetAsyncContextMethodInfo         ,
     serverGetAsyncContext                   ,
 
 
 -- ** serverGetListener
+    ServerGetListenerMethodInfo             ,
     serverGetListener                       ,
 
 
 -- ** serverGetListeners
+    ServerGetListenersMethodInfo            ,
     serverGetListeners                      ,
 
 
 -- ** serverGetPort
+    ServerGetPortMethodInfo                 ,
     serverGetPort                           ,
 
 
 -- ** serverGetUris
+    ServerGetUrisMethodInfo                 ,
     serverGetUris                           ,
 
 
 -- ** serverIsHttps
+    ServerIsHttpsMethodInfo                 ,
     serverIsHttps                           ,
 
 
 -- ** serverListen
+    ServerListenMethodInfo                  ,
     serverListen                            ,
 
 
 -- ** serverListenAll
+    ServerListenAllMethodInfo               ,
     serverListenAll                         ,
 
 
 -- ** serverListenFd
+    ServerListenFdMethodInfo                ,
     serverListenFd                          ,
 
 
 -- ** serverListenLocal
+    ServerListenLocalMethodInfo             ,
     serverListenLocal                       ,
 
 
 -- ** serverListenSocket
+    ServerListenSocketMethodInfo            ,
     serverListenSocket                      ,
 
 
 -- ** serverPauseMessage
+    ServerPauseMessageMethodInfo            ,
     serverPauseMessage                      ,
 
 
 -- ** serverQuit
+    ServerQuitMethodInfo                    ,
     serverQuit                              ,
 
 
 -- ** serverRemoveAuthDomain
+    ServerRemoveAuthDomainMethodInfo        ,
     serverRemoveAuthDomain                  ,
 
 
 -- ** serverRemoveHandler
+    ServerRemoveHandlerMethodInfo           ,
     serverRemoveHandler                     ,
 
 
 -- ** serverRun
+    ServerRunMethodInfo                     ,
     serverRun                               ,
 
 
 -- ** serverRunAsync
+    ServerRunAsyncMethodInfo                ,
     serverRunAsync                          ,
 
 
 -- ** serverSetSslCertFile
+    ServerSetSslCertFileMethodInfo          ,
     serverSetSslCertFile                    ,
 
 
 -- ** serverUnpauseMessage
+    ServerUnpauseMessageMethodInfo          ,
     serverUnpauseMessage                    ,
 
 
@@ -271,6 +297,64 @@
 noServer :: Maybe Server
 noServer = Nothing
 
+type family ResolveServerMethod (t :: Symbol) (o :: *) :: * where
+    ResolveServerMethod "acceptIostream" o = ServerAcceptIostreamMethodInfo
+    ResolveServerMethod "addAuthDomain" o = ServerAddAuthDomainMethodInfo
+    ResolveServerMethod "addEarlyHandler" o = ServerAddEarlyHandlerMethodInfo
+    ResolveServerMethod "addHandler" o = ServerAddHandlerMethodInfo
+    ResolveServerMethod "addWebsocketHandler" o = ServerAddWebsocketHandlerMethodInfo
+    ResolveServerMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveServerMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveServerMethod "disconnect" o = ServerDisconnectMethodInfo
+    ResolveServerMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveServerMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveServerMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveServerMethod "isHttps" o = ServerIsHttpsMethodInfo
+    ResolveServerMethod "listen" o = ServerListenMethodInfo
+    ResolveServerMethod "listenAll" o = ServerListenAllMethodInfo
+    ResolveServerMethod "listenFd" o = ServerListenFdMethodInfo
+    ResolveServerMethod "listenLocal" o = ServerListenLocalMethodInfo
+    ResolveServerMethod "listenSocket" o = ServerListenSocketMethodInfo
+    ResolveServerMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveServerMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveServerMethod "pauseMessage" o = ServerPauseMessageMethodInfo
+    ResolveServerMethod "quit" o = ServerQuitMethodInfo
+    ResolveServerMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveServerMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveServerMethod "removeAuthDomain" o = ServerRemoveAuthDomainMethodInfo
+    ResolveServerMethod "removeHandler" o = ServerRemoveHandlerMethodInfo
+    ResolveServerMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveServerMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveServerMethod "run" o = ServerRunMethodInfo
+    ResolveServerMethod "runAsync" o = ServerRunAsyncMethodInfo
+    ResolveServerMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveServerMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveServerMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveServerMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveServerMethod "unpauseMessage" o = ServerUnpauseMessageMethodInfo
+    ResolveServerMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveServerMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveServerMethod "getAsyncContext" o = ServerGetAsyncContextMethodInfo
+    ResolveServerMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveServerMethod "getListener" o = ServerGetListenerMethodInfo
+    ResolveServerMethod "getListeners" o = ServerGetListenersMethodInfo
+    ResolveServerMethod "getPort" o = ServerGetPortMethodInfo
+    ResolveServerMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveServerMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveServerMethod "getUris" o = ServerGetUrisMethodInfo
+    ResolveServerMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveServerMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveServerMethod "setSslCertFile" o = ServerSetSslCertFileMethodInfo
+    ResolveServerMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveServerMethod t Server, MethodInfo info Server p) => IsLabelProxy t (Server -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveServerMethod t Server, MethodInfo info Server p) => IsLabel t (Server -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal Server::request-aborted
 type ServerRequestAbortedCallback =
     Message ->
@@ -471,7 +555,7 @@
     type AttrSetTypeConstraint ServerAsyncContextPropertyInfo = (~) (Ptr ())
     type AttrBaseTypeConstraint ServerAsyncContextPropertyInfo = ServerK
     type AttrGetType ServerAsyncContextPropertyInfo = (Ptr ())
-    type AttrLabel ServerAsyncContextPropertyInfo = "Server::async-context"
+    type AttrLabel ServerAsyncContextPropertyInfo = "async-context"
     attrGet _ = getServerAsyncContext
     attrSet _ = undefined
     attrConstruct _ = constructServerAsyncContext
@@ -495,7 +579,7 @@
     type AttrSetTypeConstraint ServerHttpAliasesPropertyInfo = (~) [T.Text]
     type AttrBaseTypeConstraint ServerHttpAliasesPropertyInfo = ServerK
     type AttrGetType ServerHttpAliasesPropertyInfo = [T.Text]
-    type AttrLabel ServerHttpAliasesPropertyInfo = "Server::http-aliases"
+    type AttrLabel ServerHttpAliasesPropertyInfo = "http-aliases"
     attrGet _ = getServerHttpAliases
     attrSet _ = setServerHttpAliases
     attrConstruct _ = constructServerHttpAliases
@@ -519,7 +603,7 @@
     type AttrSetTypeConstraint ServerHttpsAliasesPropertyInfo = (~) [T.Text]
     type AttrBaseTypeConstraint ServerHttpsAliasesPropertyInfo = ServerK
     type AttrGetType ServerHttpsAliasesPropertyInfo = [T.Text]
-    type AttrLabel ServerHttpsAliasesPropertyInfo = "Server::https-aliases"
+    type AttrLabel ServerHttpsAliasesPropertyInfo = "https-aliases"
     attrGet _ = getServerHttpsAliases
     attrSet _ = setServerHttpsAliases
     attrConstruct _ = constructServerHttpsAliases
@@ -540,7 +624,7 @@
     type AttrSetTypeConstraint ServerInterfacePropertyInfo = AddressK
     type AttrBaseTypeConstraint ServerInterfacePropertyInfo = ServerK
     type AttrGetType ServerInterfacePropertyInfo = Address
-    type AttrLabel ServerInterfacePropertyInfo = "Server::interface"
+    type AttrLabel ServerInterfacePropertyInfo = "interface"
     attrGet _ = getServerInterface
     attrSet _ = undefined
     attrConstruct _ = constructServerInterface
@@ -561,7 +645,7 @@
     type AttrSetTypeConstraint ServerPortPropertyInfo = (~) Word32
     type AttrBaseTypeConstraint ServerPortPropertyInfo = ServerK
     type AttrGetType ServerPortPropertyInfo = Word32
-    type AttrLabel ServerPortPropertyInfo = "Server::port"
+    type AttrLabel ServerPortPropertyInfo = "port"
     attrGet _ = getServerPort
     attrSet _ = undefined
     attrConstruct _ = constructServerPort
@@ -582,7 +666,7 @@
     type AttrSetTypeConstraint ServerRawPathsPropertyInfo = (~) Bool
     type AttrBaseTypeConstraint ServerRawPathsPropertyInfo = ServerK
     type AttrGetType ServerRawPathsPropertyInfo = Bool
-    type AttrLabel ServerRawPathsPropertyInfo = "Server::raw-paths"
+    type AttrLabel ServerRawPathsPropertyInfo = "raw-paths"
     attrGet _ = getServerRawPaths
     attrSet _ = undefined
     attrConstruct _ = constructServerRawPaths
@@ -606,7 +690,7 @@
     type AttrSetTypeConstraint ServerServerHeaderPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint ServerServerHeaderPropertyInfo = ServerK
     type AttrGetType ServerServerHeaderPropertyInfo = T.Text
-    type AttrLabel ServerServerHeaderPropertyInfo = "Server::server-header"
+    type AttrLabel ServerServerHeaderPropertyInfo = "server-header"
     attrGet _ = getServerServerHeader
     attrSet _ = setServerServerHeader
     attrConstruct _ = constructServerServerHeader
@@ -627,7 +711,7 @@
     type AttrSetTypeConstraint ServerSslCertFilePropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint ServerSslCertFilePropertyInfo = ServerK
     type AttrGetType ServerSslCertFilePropertyInfo = T.Text
-    type AttrLabel ServerSslCertFilePropertyInfo = "Server::ssl-cert-file"
+    type AttrLabel ServerSslCertFilePropertyInfo = "ssl-cert-file"
     attrGet _ = getServerSslCertFile
     attrSet _ = undefined
     attrConstruct _ = constructServerSslCertFile
@@ -648,7 +732,7 @@
     type AttrSetTypeConstraint ServerSslKeyFilePropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint ServerSslKeyFilePropertyInfo = ServerK
     type AttrGetType ServerSslKeyFilePropertyInfo = T.Text
-    type AttrLabel ServerSslKeyFilePropertyInfo = "Server::ssl-key-file"
+    type AttrLabel ServerSslKeyFilePropertyInfo = "ssl-key-file"
     attrGet _ = getServerSslKeyFile
     attrSet _ = undefined
     attrConstruct _ = constructServerSslKeyFile
@@ -669,13 +753,13 @@
     type AttrSetTypeConstraint ServerTlsCertificatePropertyInfo = Gio.TlsCertificateK
     type AttrBaseTypeConstraint ServerTlsCertificatePropertyInfo = ServerK
     type AttrGetType ServerTlsCertificatePropertyInfo = Gio.TlsCertificate
-    type AttrLabel ServerTlsCertificatePropertyInfo = "Server::tls-certificate"
+    type AttrLabel ServerTlsCertificatePropertyInfo = "tls-certificate"
     attrGet _ = getServerTlsCertificate
     attrSet _ = undefined
     attrConstruct _ = constructServerTlsCertificate
 
 type instance AttributeList Server = ServerAttributeList
-type ServerAttributeList = ('[ '("async-context", ServerAsyncContextPropertyInfo), '("http-aliases", ServerHttpAliasesPropertyInfo), '("https-aliases", ServerHttpsAliasesPropertyInfo), '("interface", ServerInterfacePropertyInfo), '("port", ServerPortPropertyInfo), '("raw-paths", ServerRawPathsPropertyInfo), '("server-header", ServerServerHeaderPropertyInfo), '("ssl-cert-file", ServerSslCertFilePropertyInfo), '("ssl-key-file", ServerSslKeyFilePropertyInfo), '("tls-certificate", ServerTlsCertificatePropertyInfo)] :: [(Symbol, *)])
+type ServerAttributeList = ('[ '("asyncContext", ServerAsyncContextPropertyInfo), '("httpAliases", ServerHttpAliasesPropertyInfo), '("httpsAliases", ServerHttpsAliasesPropertyInfo), '("interface", ServerInterfacePropertyInfo), '("port", ServerPortPropertyInfo), '("rawPaths", ServerRawPathsPropertyInfo), '("serverHeader", ServerServerHeaderPropertyInfo), '("sslCertFile", ServerSslCertFilePropertyInfo), '("sslKeyFile", ServerSslKeyFilePropertyInfo), '("tlsCertificate", ServerTlsCertificatePropertyInfo)] :: [(Symbol, *)])
 
 data ServerRequestAbortedSignalInfo
 instance SignalInfo ServerRequestAbortedSignalInfo where
@@ -698,13 +782,12 @@
     connectSignal _ = connectServerRequestStarted
 
 type instance SignalList Server = ServerSignalList
-type ServerSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("request-aborted", ServerRequestAbortedSignalInfo), '("request-finished", ServerRequestFinishedSignalInfo), '("request-read", ServerRequestReadSignalInfo), '("request-started", ServerRequestStartedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type ServerSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("requestAborted", ServerRequestAbortedSignalInfo), '("requestFinished", ServerRequestFinishedSignalInfo), '("requestRead", ServerRequestReadSignalInfo), '("requestStarted", ServerRequestStartedSignalInfo)] :: [(Symbol, *)])
 
 -- method Server::accept_iostream
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stream", argType = TInterface "Gio" "IOStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "local_addr", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "remote_addr", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream", argType = TInterface "Gio" "IOStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "local_addr", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "remote_addr", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stream", argType = TInterface "Gio" "IOStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "local_addr", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "remote_addr", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : True
 -- Skip return : False
@@ -720,40 +803,43 @@
 
 serverAcceptIostream ::
     (MonadIO m, ServerK a, Gio.IOStreamK b, Gio.SocketAddressK c, Gio.SocketAddressK d) =>
-    a ->                                    -- _obj
-    b ->                                    -- stream
-    Maybe (c) ->                            -- local_addr
-    Maybe (d) ->                            -- remote_addr
-    m ()
-serverAcceptIostream _obj stream local_addr remote_addr = liftIO $ do
+    a                                       -- _obj
+    -> b                                    -- stream
+    -> Maybe (c)                            -- localAddr
+    -> Maybe (d)                            -- remoteAddr
+    -> m ()                                 -- result
+serverAcceptIostream _obj stream localAddr remoteAddr = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let stream' = unsafeManagedPtrCastPtr stream
-    maybeLocal_addr <- case local_addr of
+    maybeLocalAddr <- case localAddr of
         Nothing -> return nullPtr
-        Just jLocal_addr -> do
-            let jLocal_addr' = unsafeManagedPtrCastPtr jLocal_addr
-            return jLocal_addr'
-    maybeRemote_addr <- case remote_addr of
+        Just jLocalAddr -> do
+            let jLocalAddr' = unsafeManagedPtrCastPtr jLocalAddr
+            return jLocalAddr'
+    maybeRemoteAddr <- case remoteAddr of
         Nothing -> return nullPtr
-        Just jRemote_addr -> do
-            let jRemote_addr' = unsafeManagedPtrCastPtr jRemote_addr
-            return jRemote_addr'
+        Just jRemoteAddr -> do
+            let jRemoteAddr' = unsafeManagedPtrCastPtr jRemoteAddr
+            return jRemoteAddr'
     onException (do
-        _ <- propagateGError $ soup_server_accept_iostream _obj' stream' maybeLocal_addr maybeRemote_addr
+        _ <- propagateGError $ soup_server_accept_iostream _obj' stream' maybeLocalAddr maybeRemoteAddr
         touchManagedPtr _obj
         touchManagedPtr stream
-        whenJust local_addr touchManagedPtr
-        whenJust remote_addr touchManagedPtr
+        whenJust localAddr touchManagedPtr
+        whenJust remoteAddr touchManagedPtr
         return ()
      ) (do
         return ()
      )
 
+data ServerAcceptIostreamMethodInfo
+instance (signature ~ (b -> Maybe (c) -> Maybe (d) -> m ()), MonadIO m, ServerK a, Gio.IOStreamK b, Gio.SocketAddressK c, Gio.SocketAddressK d) => MethodInfo ServerAcceptIostreamMethodInfo a signature where
+    overloadedMethod _ = serverAcceptIostream
+
 -- method Server::add_auth_domain
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_domain", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "auth_domain", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_domain", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -766,22 +852,25 @@
 
 serverAddAuthDomain ::
     (MonadIO m, ServerK a, AuthDomainK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- auth_domain
-    m ()
-serverAddAuthDomain _obj auth_domain = liftIO $ do
+    a                                       -- _obj
+    -> b                                    -- authDomain
+    -> m ()                                 -- result
+serverAddAuthDomain _obj authDomain = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let auth_domain' = unsafeManagedPtrCastPtr auth_domain
-    soup_server_add_auth_domain _obj' auth_domain'
+    let authDomain' = unsafeManagedPtrCastPtr authDomain
+    soup_server_add_auth_domain _obj' authDomain'
     touchManagedPtr _obj
-    touchManagedPtr auth_domain
+    touchManagedPtr authDomain
     return ()
 
+data ServerAddAuthDomainMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, ServerK a, AuthDomainK b) => MethodInfo ServerAddAuthDomainMethodInfo a signature where
+    overloadedMethod _ = serverAddAuthDomain
+
 -- method Server::add_early_handler
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ServerCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Soup" "ServerCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ServerCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -797,10 +886,10 @@
 
 serverAddEarlyHandler ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    Maybe (T.Text) ->                       -- path
-    ServerCallback ->                       -- callback
-    m ()
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- path
+    -> ServerCallback                       -- callback
+    -> m ()                                 -- result
 serverAddEarlyHandler _obj path callback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybePath <- case path of
@@ -809,18 +898,21 @@
             jPath' <- textToCString jPath
             return jPath'
     callback' <- mkServerCallback (serverCallbackWrapper Nothing callback)
-    let user_data = castFunPtrToPtr callback'
+    let userData = castFunPtrToPtr callback'
     let destroy = safeFreeFunPtrPtr
-    soup_server_add_early_handler _obj' maybePath callback' user_data destroy
+    soup_server_add_early_handler _obj' maybePath callback' userData destroy
     touchManagedPtr _obj
     freeMem maybePath
     return ()
 
+data ServerAddEarlyHandlerMethodInfo
+instance (signature ~ (Maybe (T.Text) -> ServerCallback -> m ()), MonadIO m, ServerK a) => MethodInfo ServerAddEarlyHandlerMethodInfo a signature where
+    overloadedMethod _ = serverAddEarlyHandler
+
 -- method Server::add_handler
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ServerCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Soup" "ServerCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ServerCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -836,10 +928,10 @@
 
 serverAddHandler ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    Maybe (T.Text) ->                       -- path
-    ServerCallback ->                       -- callback
-    m ()
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- path
+    -> ServerCallback                       -- callback
+    -> m ()                                 -- result
 serverAddHandler _obj path callback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybePath <- case path of
@@ -848,18 +940,21 @@
             jPath' <- textToCString jPath
             return jPath'
     callback' <- mkServerCallback (serverCallbackWrapper Nothing callback)
-    let user_data = castFunPtrToPtr callback'
+    let userData = castFunPtrToPtr callback'
     let destroy = safeFreeFunPtrPtr
-    soup_server_add_handler _obj' maybePath callback' user_data destroy
+    soup_server_add_handler _obj' maybePath callback' userData destroy
     touchManagedPtr _obj
     freeMem maybePath
     return ()
 
+data ServerAddHandlerMethodInfo
+instance (signature ~ (Maybe (T.Text) -> ServerCallback -> m ()), MonadIO m, ServerK a) => MethodInfo ServerAddHandlerMethodInfo a signature where
+    overloadedMethod _ = serverAddHandler
+
 -- method Server::add_websocket_handler
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ServerWebsocketCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 5, argDestroy = 6, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Soup" "ServerWebsocketCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 5, argDestroy = 6, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ServerWebsocketCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 5, argDestroy = 6, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -877,12 +972,12 @@
 
 serverAddWebsocketHandler ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    Maybe (T.Text) ->                       -- path
-    Maybe (T.Text) ->                       -- origin
-    Maybe ([T.Text]) ->                     -- protocols
-    ServerWebsocketCallback ->              -- callback
-    m ()
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- path
+    -> Maybe (T.Text)                       -- origin
+    -> Maybe ([T.Text])                     -- protocols
+    -> ServerWebsocketCallback              -- callback
+    -> m ()                                 -- result
 serverAddWebsocketHandler _obj path origin protocols callback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybePath <- case path of
@@ -901,9 +996,9 @@
             jProtocols' <- packZeroTerminatedUTF8CArray jProtocols
             return jProtocols'
     callback' <- mkServerWebsocketCallback (serverWebsocketCallbackWrapper Nothing callback)
-    let user_data = castFunPtrToPtr callback'
+    let userData = castFunPtrToPtr callback'
     let destroy = safeFreeFunPtrPtr
-    soup_server_add_websocket_handler _obj' maybePath maybeOrigin maybeProtocols callback' user_data destroy
+    soup_server_add_websocket_handler _obj' maybePath maybeOrigin maybeProtocols callback' userData destroy
     touchManagedPtr _obj
     freeMem maybePath
     freeMem maybeOrigin
@@ -911,11 +1006,14 @@
     freeMem maybeProtocols
     return ()
 
+data ServerAddWebsocketHandlerMethodInfo
+instance (signature ~ (Maybe (T.Text) -> Maybe (T.Text) -> Maybe ([T.Text]) -> ServerWebsocketCallback -> m ()), MonadIO m, ServerK a) => MethodInfo ServerAddWebsocketHandlerMethodInfo a signature where
+    overloadedMethod _ = serverAddWebsocketHandler
+
 -- method Server::disconnect
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -927,19 +1025,22 @@
 
 serverDisconnect ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 serverDisconnect _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_server_disconnect _obj'
     touchManagedPtr _obj
     return ()
 
+data ServerDisconnectMethodInfo
+instance (signature ~ (m ()), MonadIO m, ServerK a) => MethodInfo ServerDisconnectMethodInfo a signature where
+    overloadedMethod _ = serverDisconnect
+
 -- method Server::get_async_context
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "GLib" "MainContext"
 -- throws : False
 -- Skip return : False
@@ -951,8 +1052,8 @@
 {-# DEPRECATED serverGetAsyncContext ["If you are using soup_server_listen(), etc, then","the server listens on the thread-default #GMainContext, and this","property is ignored."]#-}
 serverGetAsyncContext ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    m GLib.MainContext
+    a                                       -- _obj
+    -> m GLib.MainContext                   -- result
 serverGetAsyncContext _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_server_get_async_context _obj'
@@ -961,11 +1062,14 @@
     touchManagedPtr _obj
     return result'
 
+data ServerGetAsyncContextMethodInfo
+instance (signature ~ (m GLib.MainContext), MonadIO m, ServerK a) => MethodInfo ServerGetAsyncContextMethodInfo a signature where
+    overloadedMethod _ = serverGetAsyncContext
+
 -- method Server::get_listener
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Socket"
 -- throws : False
 -- Skip return : False
@@ -977,8 +1081,8 @@
 {-# DEPRECATED serverGetListener ["If you are using soup_server_listen(), etc, then use","soup_server_get_listeners() to get a list of all listening sockets,","but note that that function returns #GSockets, not #SoupSockets."]#-}
 serverGetListener ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    m Socket
+    a                                       -- _obj
+    -> m Socket                             -- result
 serverGetListener _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_server_get_listener _obj'
@@ -987,11 +1091,14 @@
     touchManagedPtr _obj
     return result'
 
+data ServerGetListenerMethodInfo
+instance (signature ~ (m Socket), MonadIO m, ServerK a) => MethodInfo ServerGetListenerMethodInfo a signature where
+    overloadedMethod _ = serverGetListener
+
 -- method Server::get_listeners
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TInterface "Gio" "Socket")
 -- throws : False
 -- Skip return : False
@@ -1003,8 +1110,8 @@
 
 serverGetListeners ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    m [Gio.Socket]
+    a                                       -- _obj
+    -> m [Gio.Socket]                       -- result
 serverGetListeners _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_server_get_listeners _obj'
@@ -1015,11 +1122,14 @@
     touchManagedPtr _obj
     return result''
 
+data ServerGetListenersMethodInfo
+instance (signature ~ (m [Gio.Socket]), MonadIO m, ServerK a) => MethodInfo ServerGetListenersMethodInfo a signature where
+    overloadedMethod _ = serverGetListeners
+
 -- method Server::get_port
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -1031,19 +1141,22 @@
 {-# DEPRECATED serverGetPort ["If you are using soup_server_listen(), etc, then use","soup_server_get_uris() to get a list of all listening addresses."]#-}
 serverGetPort ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    m Word32
+    a                                       -- _obj
+    -> m Word32                             -- result
 serverGetPort _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_server_get_port _obj'
     touchManagedPtr _obj
     return result
 
+data ServerGetPortMethodInfo
+instance (signature ~ (m Word32), MonadIO m, ServerK a) => MethodInfo ServerGetPortMethodInfo a signature where
+    overloadedMethod _ = serverGetPort
+
 -- method Server::get_uris
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TInterface "Soup" "URI")
 -- throws : False
 -- Skip return : False
@@ -1055,8 +1168,8 @@
 
 serverGetUris ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    m [URI]
+    a                                       -- _obj
+    -> m [URI]                              -- result
 serverGetUris _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_server_get_uris _obj'
@@ -1067,11 +1180,14 @@
     touchManagedPtr _obj
     return result''
 
+data ServerGetUrisMethodInfo
+instance (signature ~ (m [URI]), MonadIO m, ServerK a) => MethodInfo ServerGetUrisMethodInfo a signature where
+    overloadedMethod _ = serverGetUris
+
 -- method Server::is_https
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1083,8 +1199,8 @@
 
 serverIsHttps ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 serverIsHttps _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_server_is_https _obj'
@@ -1092,11 +1208,14 @@
     touchManagedPtr _obj
     return result'
 
+data ServerIsHttpsMethodInfo
+instance (signature ~ (m Bool), MonadIO m, ServerK a) => MethodInfo ServerIsHttpsMethodInfo a signature where
+    overloadedMethod _ = serverIsHttps
+
 -- method Server::listen
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "address", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "address", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "address", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : True
 -- Skip return : False
@@ -1111,10 +1230,10 @@
 
 serverListen ::
     (MonadIO m, ServerK a, Gio.SocketAddressK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- address
-    [ServerListenOptions] ->                -- options
-    m ()
+    a                                       -- _obj
+    -> b                                    -- address
+    -> [ServerListenOptions]                -- options
+    -> m ()                                 -- result
 serverListen _obj address options = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let address' = unsafeManagedPtrCastPtr address
@@ -1128,11 +1247,14 @@
         return ()
      )
 
+data ServerListenMethodInfo
+instance (signature ~ (b -> [ServerListenOptions] -> m ()), MonadIO m, ServerK a, Gio.SocketAddressK b) => MethodInfo ServerListenMethodInfo a signature where
+    overloadedMethod _ = serverListen
+
 -- method Server::listen_all
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : True
 -- Skip return : False
@@ -1147,10 +1269,10 @@
 
 serverListenAll ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- port
-    [ServerListenOptions] ->                -- options
-    m ()
+    a                                       -- _obj
+    -> Word32                               -- port
+    -> [ServerListenOptions]                -- options
+    -> m ()                                 -- result
 serverListenAll _obj port options = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let options' = gflagsToWord options
@@ -1162,11 +1284,14 @@
         return ()
      )
 
+data ServerListenAllMethodInfo
+instance (signature ~ (Word32 -> [ServerListenOptions] -> m ()), MonadIO m, ServerK a) => MethodInfo ServerListenAllMethodInfo a signature where
+    overloadedMethod _ = serverListenAll
+
 -- method Server::listen_fd
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "fd", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "fd", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : True
 -- Skip return : False
@@ -1181,10 +1306,10 @@
 
 serverListenFd ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- fd
-    [ServerListenOptions] ->                -- options
-    m ()
+    a                                       -- _obj
+    -> Int32                                -- fd
+    -> [ServerListenOptions]                -- options
+    -> m ()                                 -- result
 serverListenFd _obj fd options = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let options' = gflagsToWord options
@@ -1196,11 +1321,14 @@
         return ()
      )
 
+data ServerListenFdMethodInfo
+instance (signature ~ (Int32 -> [ServerListenOptions] -> m ()), MonadIO m, ServerK a) => MethodInfo ServerListenFdMethodInfo a signature where
+    overloadedMethod _ = serverListenFd
+
 -- method Server::listen_local
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : True
 -- Skip return : False
@@ -1215,10 +1343,10 @@
 
 serverListenLocal ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- port
-    [ServerListenOptions] ->                -- options
-    m ()
+    a                                       -- _obj
+    -> Word32                               -- port
+    -> [ServerListenOptions]                -- options
+    -> m ()                                 -- result
 serverListenLocal _obj port options = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let options' = gflagsToWord options
@@ -1230,11 +1358,14 @@
         return ()
      )
 
+data ServerListenLocalMethodInfo
+instance (signature ~ (Word32 -> [ServerListenOptions] -> m ()), MonadIO m, ServerK a) => MethodInfo ServerListenLocalMethodInfo a signature where
+    overloadedMethod _ = serverListenLocal
+
 -- method Server::listen_socket
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "socket", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "socket", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "socket", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : True
 -- Skip return : False
@@ -1249,10 +1380,10 @@
 
 serverListenSocket ::
     (MonadIO m, ServerK a, Gio.SocketK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- socket
-    [ServerListenOptions] ->                -- options
-    m ()
+    a                                       -- _obj
+    -> b                                    -- socket
+    -> [ServerListenOptions]                -- options
+    -> m ()                                 -- result
 serverListenSocket _obj socket options = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let socket' = unsafeManagedPtrCastPtr socket
@@ -1266,11 +1397,14 @@
         return ()
      )
 
+data ServerListenSocketMethodInfo
+instance (signature ~ (b -> [ServerListenOptions] -> m ()), MonadIO m, ServerK a, Gio.SocketK b) => MethodInfo ServerListenSocketMethodInfo a signature where
+    overloadedMethod _ = serverListenSocket
+
 -- method Server::pause_message
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1283,9 +1417,9 @@
 
 serverPauseMessage ::
     (MonadIO m, ServerK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    m ()
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> m ()                                 -- result
 serverPauseMessage _obj msg = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -1294,11 +1428,14 @@
     touchManagedPtr msg
     return ()
 
+data ServerPauseMessageMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, ServerK a, MessageK b) => MethodInfo ServerPauseMessageMethodInfo a signature where
+    overloadedMethod _ = serverPauseMessage
+
 -- method Server::quit
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1310,19 +1447,22 @@
 {-# DEPRECATED serverQuit ["When using soup_server_listen(), etc, the server will","always listen for connections, and will process them whenever the","thread-default #GMainContext is running."]#-}
 serverQuit ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 serverQuit _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_server_quit _obj'
     touchManagedPtr _obj
     return ()
 
+data ServerQuitMethodInfo
+instance (signature ~ (m ()), MonadIO m, ServerK a) => MethodInfo ServerQuitMethodInfo a signature where
+    overloadedMethod _ = serverQuit
+
 -- method Server::remove_auth_domain
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_domain", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "auth_domain", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_domain", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1335,22 +1475,25 @@
 
 serverRemoveAuthDomain ::
     (MonadIO m, ServerK a, AuthDomainK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- auth_domain
-    m ()
-serverRemoveAuthDomain _obj auth_domain = liftIO $ do
+    a                                       -- _obj
+    -> b                                    -- authDomain
+    -> m ()                                 -- result
+serverRemoveAuthDomain _obj authDomain = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let auth_domain' = unsafeManagedPtrCastPtr auth_domain
-    soup_server_remove_auth_domain _obj' auth_domain'
+    let authDomain' = unsafeManagedPtrCastPtr authDomain
+    soup_server_remove_auth_domain _obj' authDomain'
     touchManagedPtr _obj
-    touchManagedPtr auth_domain
+    touchManagedPtr authDomain
     return ()
 
+data ServerRemoveAuthDomainMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, ServerK a, AuthDomainK b) => MethodInfo ServerRemoveAuthDomainMethodInfo a signature where
+    overloadedMethod _ = serverRemoveAuthDomain
+
 -- method Server::remove_handler
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1363,9 +1506,9 @@
 
 serverRemoveHandler ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- path
-    m ()
+    a                                       -- _obj
+    -> T.Text                               -- path
+    -> m ()                                 -- result
 serverRemoveHandler _obj path = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     path' <- textToCString path
@@ -1374,11 +1517,14 @@
     freeMem path'
     return ()
 
+data ServerRemoveHandlerMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, ServerK a) => MethodInfo ServerRemoveHandlerMethodInfo a signature where
+    overloadedMethod _ = serverRemoveHandler
+
 -- method Server::run
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1390,19 +1536,22 @@
 {-# DEPRECATED serverRun ["When using soup_server_listen(), etc, the server will","always listen for connections, and will process them whenever the","thread-default #GMainContext is running."]#-}
 serverRun ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 serverRun _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_server_run _obj'
     touchManagedPtr _obj
     return ()
 
+data ServerRunMethodInfo
+instance (signature ~ (m ()), MonadIO m, ServerK a) => MethodInfo ServerRunMethodInfo a signature where
+    overloadedMethod _ = serverRun
+
 -- method Server::run_async
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1414,19 +1563,22 @@
 {-# DEPRECATED serverRunAsync ["When using soup_server_listen(), etc, the server will","always listen for connections, and will process them whenever the","thread-default #GMainContext is running."]#-}
 serverRunAsync ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 serverRunAsync _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_server_run_async _obj'
     touchManagedPtr _obj
     return ()
 
+data ServerRunAsyncMethodInfo
+instance (signature ~ (m ()), MonadIO m, ServerK a) => MethodInfo ServerRunAsyncMethodInfo a signature where
+    overloadedMethod _ = serverRunAsync
+
 -- method Server::set_ssl_cert_file
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ssl_cert_file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ssl_key_file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ssl_cert_file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ssl_key_file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ssl_cert_file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ssl_key_file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : True
 -- Skip return : False
@@ -1441,30 +1593,33 @@
 
 serverSetSslCertFile ::
     (MonadIO m, ServerK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- ssl_cert_file
-    T.Text ->                               -- ssl_key_file
-    m ()
-serverSetSslCertFile _obj ssl_cert_file ssl_key_file = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- sslCertFile
+    -> T.Text                               -- sslKeyFile
+    -> m ()                                 -- result
+serverSetSslCertFile _obj sslCertFile sslKeyFile = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    ssl_cert_file' <- textToCString ssl_cert_file
-    ssl_key_file' <- textToCString ssl_key_file
+    sslCertFile' <- textToCString sslCertFile
+    sslKeyFile' <- textToCString sslKeyFile
     onException (do
-        _ <- propagateGError $ soup_server_set_ssl_cert_file _obj' ssl_cert_file' ssl_key_file'
+        _ <- propagateGError $ soup_server_set_ssl_cert_file _obj' sslCertFile' sslKeyFile'
         touchManagedPtr _obj
-        freeMem ssl_cert_file'
-        freeMem ssl_key_file'
+        freeMem sslCertFile'
+        freeMem sslKeyFile'
         return ()
      ) (do
-        freeMem ssl_cert_file'
-        freeMem ssl_key_file'
+        freeMem sslCertFile'
+        freeMem sslKeyFile'
      )
 
+data ServerSetSslCertFileMethodInfo
+instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, ServerK a) => MethodInfo ServerSetSslCertFileMethodInfo a signature where
+    overloadedMethod _ = serverSetSslCertFile
+
 -- method Server::unpause_message
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1477,9 +1632,9 @@
 
 serverUnpauseMessage ::
     (MonadIO m, ServerK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    m ()
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> m ()                                 -- result
 serverUnpauseMessage _obj msg = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -1487,5 +1642,9 @@
     touchManagedPtr _obj
     touchManagedPtr msg
     return ()
+
+data ServerUnpauseMessageMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, ServerK a, MessageK b) => MethodInfo ServerUnpauseMessageMethodInfo a signature where
+    overloadedMethod _ = serverUnpauseMessage
 
 
diff --git a/GI/Soup/Objects/Server.hs-boot b/GI/Soup/Objects/Server.hs-boot
--- a/GI/Soup/Objects/Server.hs-boot
+++ b/GI/Soup/Objects/Server.hs-boot
@@ -25,3 +25,28 @@
 data ServerRequestFinishedSignalInfo
 data ServerRequestReadSignalInfo
 data ServerRequestStartedSignalInfo
+data ServerAcceptIostreamMethodInfo
+data ServerAddAuthDomainMethodInfo
+data ServerAddEarlyHandlerMethodInfo
+data ServerAddHandlerMethodInfo
+data ServerAddWebsocketHandlerMethodInfo
+data ServerDisconnectMethodInfo
+data ServerGetAsyncContextMethodInfo
+data ServerGetListenerMethodInfo
+data ServerGetListenersMethodInfo
+data ServerGetPortMethodInfo
+data ServerGetUrisMethodInfo
+data ServerIsHttpsMethodInfo
+data ServerListenMethodInfo
+data ServerListenAllMethodInfo
+data ServerListenFdMethodInfo
+data ServerListenLocalMethodInfo
+data ServerListenSocketMethodInfo
+data ServerPauseMessageMethodInfo
+data ServerQuitMethodInfo
+data ServerRemoveAuthDomainMethodInfo
+data ServerRemoveHandlerMethodInfo
+data ServerRunMethodInfo
+data ServerRunAsyncMethodInfo
+data ServerSetSslCertFileMethodInfo
+data ServerUnpauseMessageMethodInfo
diff --git a/GI/Soup/Objects/Session.hs b/GI/Soup/Objects/Session.hs
--- a/GI/Soup/Objects/Session.hs
+++ b/GI/Soup/Objects/Session.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,38 +18,47 @@
 
  -- * Methods
 -- ** sessionAbort
+    SessionAbortMethodInfo                  ,
     sessionAbort                            ,
 
 
 -- ** sessionAddFeature
+    SessionAddFeatureMethodInfo             ,
     sessionAddFeature                       ,
 
 
 -- ** sessionAddFeatureByType
+    SessionAddFeatureByTypeMethodInfo       ,
     sessionAddFeatureByType                 ,
 
 
 -- ** sessionCancelMessage
+    SessionCancelMessageMethodInfo          ,
     sessionCancelMessage                    ,
 
 
 -- ** sessionGetAsyncContext
+    SessionGetAsyncContextMethodInfo        ,
     sessionGetAsyncContext                  ,
 
 
 -- ** sessionGetFeature
+    SessionGetFeatureMethodInfo             ,
     sessionGetFeature                       ,
 
 
 -- ** sessionGetFeatureForMessage
+    SessionGetFeatureForMessageMethodInfo   ,
     sessionGetFeatureForMessage             ,
 
 
 -- ** sessionGetFeatures
+    SessionGetFeaturesMethodInfo            ,
     sessionGetFeatures                      ,
 
 
 -- ** sessionHasFeature
+    SessionHasFeatureMethodInfo             ,
     sessionHasFeature                       ,
 
 
@@ -57,86 +67,107 @@
 
 
 -- ** sessionPauseMessage
+    SessionPauseMessageMethodInfo           ,
     sessionPauseMessage                     ,
 
 
 -- ** sessionPrefetchDns
+    SessionPrefetchDnsMethodInfo            ,
     sessionPrefetchDns                      ,
 
 
 -- ** sessionPrepareForUri
+    SessionPrepareForUriMethodInfo          ,
     sessionPrepareForUri                    ,
 
 
 -- ** sessionQueueMessage
+    SessionQueueMessageMethodInfo           ,
     sessionQueueMessage                     ,
 
 
 -- ** sessionRedirectMessage
+    SessionRedirectMessageMethodInfo        ,
     sessionRedirectMessage                  ,
 
 
 -- ** sessionRemoveFeature
+    SessionRemoveFeatureMethodInfo          ,
     sessionRemoveFeature                    ,
 
 
 -- ** sessionRemoveFeatureByType
+    SessionRemoveFeatureByTypeMethodInfo    ,
     sessionRemoveFeatureByType              ,
 
 
 -- ** sessionRequest
+    SessionRequestMethodInfo                ,
     sessionRequest                          ,
 
 
 -- ** sessionRequestHttp
+    SessionRequestHttpMethodInfo            ,
     sessionRequestHttp                      ,
 
 
 -- ** sessionRequestHttpUri
+    SessionRequestHttpUriMethodInfo         ,
     sessionRequestHttpUri                   ,
 
 
 -- ** sessionRequestUri
+    SessionRequestUriMethodInfo             ,
     sessionRequestUri                       ,
 
 
 -- ** sessionRequeueMessage
+    SessionRequeueMessageMethodInfo         ,
     sessionRequeueMessage                   ,
 
 
 -- ** sessionSend
+    SessionSendMethodInfo                   ,
     sessionSend                             ,
 
 
 -- ** sessionSendAsync
+    SessionSendAsyncMethodInfo              ,
     sessionSendAsync                        ,
 
 
 -- ** sessionSendFinish
+    SessionSendFinishMethodInfo             ,
     sessionSendFinish                       ,
 
 
 -- ** sessionSendMessage
+    SessionSendMessageMethodInfo            ,
     sessionSendMessage                      ,
 
 
 -- ** sessionStealConnection
+    SessionStealConnectionMethodInfo        ,
     sessionStealConnection                  ,
 
 
 -- ** sessionUnpauseMessage
+    SessionUnpauseMessageMethodInfo         ,
     sessionUnpauseMessage                   ,
 
 
 -- ** sessionWebsocketConnectAsync
+    SessionWebsocketConnectAsyncMethodInfo  ,
     sessionWebsocketConnectAsync            ,
 
 
 -- ** sessionWebsocketConnectFinish
+    SessionWebsocketConnectFinishMethodInfo ,
     sessionWebsocketConnectFinish           ,
 
 
 -- ** sessionWouldRedirect
+    SessionWouldRedirectMethodInfo          ,
     sessionWouldRedirect                    ,
 
 
@@ -394,6 +425,69 @@
 noSession :: Maybe Session
 noSession = Nothing
 
+type family ResolveSessionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSessionMethod "abort" o = SessionAbortMethodInfo
+    ResolveSessionMethod "addFeature" o = SessionAddFeatureMethodInfo
+    ResolveSessionMethod "addFeatureByType" o = SessionAddFeatureByTypeMethodInfo
+    ResolveSessionMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveSessionMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveSessionMethod "cancelMessage" o = SessionCancelMessageMethodInfo
+    ResolveSessionMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveSessionMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveSessionMethod "hasFeature" o = SessionHasFeatureMethodInfo
+    ResolveSessionMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveSessionMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveSessionMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveSessionMethod "pauseMessage" o = SessionPauseMessageMethodInfo
+    ResolveSessionMethod "prefetchDns" o = SessionPrefetchDnsMethodInfo
+    ResolveSessionMethod "prepareForUri" o = SessionPrepareForUriMethodInfo
+    ResolveSessionMethod "queueMessage" o = SessionQueueMessageMethodInfo
+    ResolveSessionMethod "redirectMessage" o = SessionRedirectMessageMethodInfo
+    ResolveSessionMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveSessionMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveSessionMethod "removeFeature" o = SessionRemoveFeatureMethodInfo
+    ResolveSessionMethod "removeFeatureByType" o = SessionRemoveFeatureByTypeMethodInfo
+    ResolveSessionMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveSessionMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveSessionMethod "request" o = SessionRequestMethodInfo
+    ResolveSessionMethod "requestHttp" o = SessionRequestHttpMethodInfo
+    ResolveSessionMethod "requestHttpUri" o = SessionRequestHttpUriMethodInfo
+    ResolveSessionMethod "requestUri" o = SessionRequestUriMethodInfo
+    ResolveSessionMethod "requeueMessage" o = SessionRequeueMessageMethodInfo
+    ResolveSessionMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveSessionMethod "send" o = SessionSendMethodInfo
+    ResolveSessionMethod "sendAsync" o = SessionSendAsyncMethodInfo
+    ResolveSessionMethod "sendFinish" o = SessionSendFinishMethodInfo
+    ResolveSessionMethod "sendMessage" o = SessionSendMessageMethodInfo
+    ResolveSessionMethod "stealConnection" o = SessionStealConnectionMethodInfo
+    ResolveSessionMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveSessionMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveSessionMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveSessionMethod "unpauseMessage" o = SessionUnpauseMessageMethodInfo
+    ResolveSessionMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveSessionMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveSessionMethod "websocketConnectAsync" o = SessionWebsocketConnectAsyncMethodInfo
+    ResolveSessionMethod "websocketConnectFinish" o = SessionWebsocketConnectFinishMethodInfo
+    ResolveSessionMethod "wouldRedirect" o = SessionWouldRedirectMethodInfo
+    ResolveSessionMethod "getAsyncContext" o = SessionGetAsyncContextMethodInfo
+    ResolveSessionMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveSessionMethod "getFeature" o = SessionGetFeatureMethodInfo
+    ResolveSessionMethod "getFeatureForMessage" o = SessionGetFeatureForMessageMethodInfo
+    ResolveSessionMethod "getFeatures" o = SessionGetFeaturesMethodInfo
+    ResolveSessionMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveSessionMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveSessionMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveSessionMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveSessionMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveSessionMethod t Session, MethodInfo info Session p) => IsLabelProxy t (Session -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveSessionMethod t Session, MethodInfo info Session p) => IsLabel t (Session -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal Session::authenticate
 type SessionAuthenticateCallback =
     Message ->
@@ -677,7 +771,7 @@
     type AttrSetTypeConstraint SessionAcceptLanguagePropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint SessionAcceptLanguagePropertyInfo = SessionK
     type AttrGetType SessionAcceptLanguagePropertyInfo = T.Text
-    type AttrLabel SessionAcceptLanguagePropertyInfo = "Session::accept-language"
+    type AttrLabel SessionAcceptLanguagePropertyInfo = "accept-language"
     attrGet _ = getSessionAcceptLanguage
     attrSet _ = setSessionAcceptLanguage
     attrConstruct _ = constructSessionAcceptLanguage
@@ -701,7 +795,7 @@
     type AttrSetTypeConstraint SessionAcceptLanguageAutoPropertyInfo = (~) Bool
     type AttrBaseTypeConstraint SessionAcceptLanguageAutoPropertyInfo = SessionK
     type AttrGetType SessionAcceptLanguageAutoPropertyInfo = Bool
-    type AttrLabel SessionAcceptLanguageAutoPropertyInfo = "Session::accept-language-auto"
+    type AttrLabel SessionAcceptLanguageAutoPropertyInfo = "accept-language-auto"
     attrGet _ = getSessionAcceptLanguageAuto
     attrSet _ = setSessionAcceptLanguageAuto
     attrConstruct _ = constructSessionAcceptLanguageAuto
@@ -722,7 +816,7 @@
     type AttrSetTypeConstraint SessionAsyncContextPropertyInfo = (~) (Ptr ())
     type AttrBaseTypeConstraint SessionAsyncContextPropertyInfo = SessionK
     type AttrGetType SessionAsyncContextPropertyInfo = (Ptr ())
-    type AttrLabel SessionAsyncContextPropertyInfo = "Session::async-context"
+    type AttrLabel SessionAsyncContextPropertyInfo = "async-context"
     attrGet _ = getSessionAsyncContext
     attrSet _ = undefined
     attrConstruct _ = constructSessionAsyncContext
@@ -746,7 +840,7 @@
     type AttrSetTypeConstraint SessionHttpAliasesPropertyInfo = (~) [T.Text]
     type AttrBaseTypeConstraint SessionHttpAliasesPropertyInfo = SessionK
     type AttrGetType SessionHttpAliasesPropertyInfo = [T.Text]
-    type AttrLabel SessionHttpAliasesPropertyInfo = "Session::http-aliases"
+    type AttrLabel SessionHttpAliasesPropertyInfo = "http-aliases"
     attrGet _ = getSessionHttpAliases
     attrSet _ = setSessionHttpAliases
     attrConstruct _ = constructSessionHttpAliases
@@ -770,7 +864,7 @@
     type AttrSetTypeConstraint SessionHttpsAliasesPropertyInfo = (~) [T.Text]
     type AttrBaseTypeConstraint SessionHttpsAliasesPropertyInfo = SessionK
     type AttrGetType SessionHttpsAliasesPropertyInfo = [T.Text]
-    type AttrLabel SessionHttpsAliasesPropertyInfo = "Session::https-aliases"
+    type AttrLabel SessionHttpsAliasesPropertyInfo = "https-aliases"
     attrGet _ = getSessionHttpsAliases
     attrSet _ = setSessionHttpsAliases
     attrConstruct _ = constructSessionHttpsAliases
@@ -794,7 +888,7 @@
     type AttrSetTypeConstraint SessionIdleTimeoutPropertyInfo = (~) Word32
     type AttrBaseTypeConstraint SessionIdleTimeoutPropertyInfo = SessionK
     type AttrGetType SessionIdleTimeoutPropertyInfo = Word32
-    type AttrLabel SessionIdleTimeoutPropertyInfo = "Session::idle-timeout"
+    type AttrLabel SessionIdleTimeoutPropertyInfo = "idle-timeout"
     attrGet _ = getSessionIdleTimeout
     attrSet _ = setSessionIdleTimeout
     attrConstruct _ = constructSessionIdleTimeout
@@ -815,7 +909,7 @@
     type AttrSetTypeConstraint SessionLocalAddressPropertyInfo = AddressK
     type AttrBaseTypeConstraint SessionLocalAddressPropertyInfo = SessionK
     type AttrGetType SessionLocalAddressPropertyInfo = Address
-    type AttrLabel SessionLocalAddressPropertyInfo = "Session::local-address"
+    type AttrLabel SessionLocalAddressPropertyInfo = "local-address"
     attrGet _ = getSessionLocalAddress
     attrSet _ = undefined
     attrConstruct _ = constructSessionLocalAddress
@@ -839,7 +933,7 @@
     type AttrSetTypeConstraint SessionMaxConnsPropertyInfo = (~) Int32
     type AttrBaseTypeConstraint SessionMaxConnsPropertyInfo = SessionK
     type AttrGetType SessionMaxConnsPropertyInfo = Int32
-    type AttrLabel SessionMaxConnsPropertyInfo = "Session::max-conns"
+    type AttrLabel SessionMaxConnsPropertyInfo = "max-conns"
     attrGet _ = getSessionMaxConns
     attrSet _ = setSessionMaxConns
     attrConstruct _ = constructSessionMaxConns
@@ -863,7 +957,7 @@
     type AttrSetTypeConstraint SessionMaxConnsPerHostPropertyInfo = (~) Int32
     type AttrBaseTypeConstraint SessionMaxConnsPerHostPropertyInfo = SessionK
     type AttrGetType SessionMaxConnsPerHostPropertyInfo = Int32
-    type AttrLabel SessionMaxConnsPerHostPropertyInfo = "Session::max-conns-per-host"
+    type AttrLabel SessionMaxConnsPerHostPropertyInfo = "max-conns-per-host"
     attrGet _ = getSessionMaxConnsPerHost
     attrSet _ = setSessionMaxConnsPerHost
     attrConstruct _ = constructSessionMaxConnsPerHost
@@ -887,7 +981,7 @@
     type AttrSetTypeConstraint SessionProxyResolverPropertyInfo = Gio.ProxyResolverK
     type AttrBaseTypeConstraint SessionProxyResolverPropertyInfo = SessionK
     type AttrGetType SessionProxyResolverPropertyInfo = Gio.ProxyResolver
-    type AttrLabel SessionProxyResolverPropertyInfo = "Session::proxy-resolver"
+    type AttrLabel SessionProxyResolverPropertyInfo = "proxy-resolver"
     attrGet _ = getSessionProxyResolver
     attrSet _ = setSessionProxyResolver
     attrConstruct _ = constructSessionProxyResolver
@@ -911,7 +1005,7 @@
     type AttrSetTypeConstraint SessionProxyUriPropertyInfo = (~) URI
     type AttrBaseTypeConstraint SessionProxyUriPropertyInfo = SessionK
     type AttrGetType SessionProxyUriPropertyInfo = URI
-    type AttrLabel SessionProxyUriPropertyInfo = "Session::proxy-uri"
+    type AttrLabel SessionProxyUriPropertyInfo = "proxy-uri"
     attrGet _ = getSessionProxyUri
     attrSet _ = setSessionProxyUri
     attrConstruct _ = constructSessionProxyUri
@@ -935,7 +1029,7 @@
     type AttrSetTypeConstraint SessionSslCaFilePropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint SessionSslCaFilePropertyInfo = SessionK
     type AttrGetType SessionSslCaFilePropertyInfo = T.Text
-    type AttrLabel SessionSslCaFilePropertyInfo = "Session::ssl-ca-file"
+    type AttrLabel SessionSslCaFilePropertyInfo = "ssl-ca-file"
     attrGet _ = getSessionSslCaFile
     attrSet _ = setSessionSslCaFile
     attrConstruct _ = constructSessionSslCaFile
@@ -959,7 +1053,7 @@
     type AttrSetTypeConstraint SessionSslStrictPropertyInfo = (~) Bool
     type AttrBaseTypeConstraint SessionSslStrictPropertyInfo = SessionK
     type AttrGetType SessionSslStrictPropertyInfo = Bool
-    type AttrLabel SessionSslStrictPropertyInfo = "Session::ssl-strict"
+    type AttrLabel SessionSslStrictPropertyInfo = "ssl-strict"
     attrGet _ = getSessionSslStrict
     attrSet _ = setSessionSslStrict
     attrConstruct _ = constructSessionSslStrict
@@ -983,7 +1077,7 @@
     type AttrSetTypeConstraint SessionSslUseSystemCaFilePropertyInfo = (~) Bool
     type AttrBaseTypeConstraint SessionSslUseSystemCaFilePropertyInfo = SessionK
     type AttrGetType SessionSslUseSystemCaFilePropertyInfo = Bool
-    type AttrLabel SessionSslUseSystemCaFilePropertyInfo = "Session::ssl-use-system-ca-file"
+    type AttrLabel SessionSslUseSystemCaFilePropertyInfo = "ssl-use-system-ca-file"
     attrGet _ = getSessionSslUseSystemCaFile
     attrSet _ = setSessionSslUseSystemCaFile
     attrConstruct _ = constructSessionSslUseSystemCaFile
@@ -1007,7 +1101,7 @@
     type AttrSetTypeConstraint SessionTimeoutPropertyInfo = (~) Word32
     type AttrBaseTypeConstraint SessionTimeoutPropertyInfo = SessionK
     type AttrGetType SessionTimeoutPropertyInfo = Word32
-    type AttrLabel SessionTimeoutPropertyInfo = "Session::timeout"
+    type AttrLabel SessionTimeoutPropertyInfo = "timeout"
     attrGet _ = getSessionTimeout
     attrSet _ = setSessionTimeout
     attrConstruct _ = constructSessionTimeout
@@ -1031,7 +1125,7 @@
     type AttrSetTypeConstraint SessionTlsDatabasePropertyInfo = Gio.TlsDatabaseK
     type AttrBaseTypeConstraint SessionTlsDatabasePropertyInfo = SessionK
     type AttrGetType SessionTlsDatabasePropertyInfo = Gio.TlsDatabase
-    type AttrLabel SessionTlsDatabasePropertyInfo = "Session::tls-database"
+    type AttrLabel SessionTlsDatabasePropertyInfo = "tls-database"
     attrGet _ = getSessionTlsDatabase
     attrSet _ = setSessionTlsDatabase
     attrConstruct _ = constructSessionTlsDatabase
@@ -1055,7 +1149,7 @@
     type AttrSetTypeConstraint SessionTlsInteractionPropertyInfo = Gio.TlsInteractionK
     type AttrBaseTypeConstraint SessionTlsInteractionPropertyInfo = SessionK
     type AttrGetType SessionTlsInteractionPropertyInfo = Gio.TlsInteraction
-    type AttrLabel SessionTlsInteractionPropertyInfo = "Session::tls-interaction"
+    type AttrLabel SessionTlsInteractionPropertyInfo = "tls-interaction"
     attrGet _ = getSessionTlsInteraction
     attrSet _ = setSessionTlsInteraction
     attrConstruct _ = constructSessionTlsInteraction
@@ -1079,7 +1173,7 @@
     type AttrSetTypeConstraint SessionUseNtlmPropertyInfo = (~) Bool
     type AttrBaseTypeConstraint SessionUseNtlmPropertyInfo = SessionK
     type AttrGetType SessionUseNtlmPropertyInfo = Bool
-    type AttrLabel SessionUseNtlmPropertyInfo = "Session::use-ntlm"
+    type AttrLabel SessionUseNtlmPropertyInfo = "use-ntlm"
     attrGet _ = getSessionUseNtlm
     attrSet _ = setSessionUseNtlm
     attrConstruct _ = constructSessionUseNtlm
@@ -1103,7 +1197,7 @@
     type AttrSetTypeConstraint SessionUseThreadContextPropertyInfo = (~) Bool
     type AttrBaseTypeConstraint SessionUseThreadContextPropertyInfo = SessionK
     type AttrGetType SessionUseThreadContextPropertyInfo = Bool
-    type AttrLabel SessionUseThreadContextPropertyInfo = "Session::use-thread-context"
+    type AttrLabel SessionUseThreadContextPropertyInfo = "use-thread-context"
     attrGet _ = getSessionUseThreadContext
     attrSet _ = setSessionUseThreadContext
     attrConstruct _ = constructSessionUseThreadContext
@@ -1127,13 +1221,13 @@
     type AttrSetTypeConstraint SessionUserAgentPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint SessionUserAgentPropertyInfo = SessionK
     type AttrGetType SessionUserAgentPropertyInfo = T.Text
-    type AttrLabel SessionUserAgentPropertyInfo = "Session::user-agent"
+    type AttrLabel SessionUserAgentPropertyInfo = "user-agent"
     attrGet _ = getSessionUserAgent
     attrSet _ = setSessionUserAgent
     attrConstruct _ = constructSessionUserAgent
 
 type instance AttributeList Session = SessionAttributeList
-type SessionAttributeList = ('[ '("accept-language", SessionAcceptLanguagePropertyInfo), '("accept-language-auto", SessionAcceptLanguageAutoPropertyInfo), '("async-context", SessionAsyncContextPropertyInfo), '("http-aliases", SessionHttpAliasesPropertyInfo), '("https-aliases", SessionHttpsAliasesPropertyInfo), '("idle-timeout", SessionIdleTimeoutPropertyInfo), '("local-address", SessionLocalAddressPropertyInfo), '("max-conns", SessionMaxConnsPropertyInfo), '("max-conns-per-host", SessionMaxConnsPerHostPropertyInfo), '("proxy-resolver", SessionProxyResolverPropertyInfo), '("proxy-uri", SessionProxyUriPropertyInfo), '("ssl-ca-file", SessionSslCaFilePropertyInfo), '("ssl-strict", SessionSslStrictPropertyInfo), '("ssl-use-system-ca-file", SessionSslUseSystemCaFilePropertyInfo), '("timeout", SessionTimeoutPropertyInfo), '("tls-database", SessionTlsDatabasePropertyInfo), '("tls-interaction", SessionTlsInteractionPropertyInfo), '("use-ntlm", SessionUseNtlmPropertyInfo), '("use-thread-context", SessionUseThreadContextPropertyInfo), '("user-agent", SessionUserAgentPropertyInfo)] :: [(Symbol, *)])
+type SessionAttributeList = ('[ '("acceptLanguage", SessionAcceptLanguagePropertyInfo), '("acceptLanguageAuto", SessionAcceptLanguageAutoPropertyInfo), '("asyncContext", SessionAsyncContextPropertyInfo), '("httpAliases", SessionHttpAliasesPropertyInfo), '("httpsAliases", SessionHttpsAliasesPropertyInfo), '("idleTimeout", SessionIdleTimeoutPropertyInfo), '("localAddress", SessionLocalAddressPropertyInfo), '("maxConns", SessionMaxConnsPropertyInfo), '("maxConnsPerHost", SessionMaxConnsPerHostPropertyInfo), '("proxyResolver", SessionProxyResolverPropertyInfo), '("proxyUri", SessionProxyUriPropertyInfo), '("sslCaFile", SessionSslCaFilePropertyInfo), '("sslStrict", SessionSslStrictPropertyInfo), '("sslUseSystemCaFile", SessionSslUseSystemCaFilePropertyInfo), '("timeout", SessionTimeoutPropertyInfo), '("tlsDatabase", SessionTlsDatabasePropertyInfo), '("tlsInteraction", SessionTlsInteractionPropertyInfo), '("useNtlm", SessionUseNtlmPropertyInfo), '("useThreadContext", SessionUseThreadContextPropertyInfo), '("userAgent", SessionUserAgentPropertyInfo)] :: [(Symbol, *)])
 
 data SessionAuthenticateSignalInfo
 instance SignalInfo SessionAuthenticateSignalInfo where
@@ -1166,13 +1260,12 @@
     connectSignal _ = connectSessionTunneling
 
 type instance SignalList Session = SessionSignalList
-type SessionSignalList = ('[ '("authenticate", SessionAuthenticateSignalInfo), '("connection-created", SessionConnectionCreatedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("request-queued", SessionRequestQueuedSignalInfo), '("request-started", SessionRequestStartedSignalInfo), '("request-unqueued", SessionRequestUnqueuedSignalInfo), '("tunneling", SessionTunnelingSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type SessionSignalList = ('[ '("authenticate", SessionAuthenticateSignalInfo), '("connectionCreated", SessionConnectionCreatedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("requestQueued", SessionRequestQueuedSignalInfo), '("requestStarted", SessionRequestStartedSignalInfo), '("requestUnqueued", SessionRequestUnqueuedSignalInfo), '("tunneling", SessionTunnelingSignalInfo)] :: [(Symbol, *)])
 
 -- method Session::new
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Soup" "Session"
 -- throws : False
 -- Skip return : False
@@ -1183,7 +1276,7 @@
 
 sessionNew ::
     (MonadIO m) =>
-    m Session
+    m Session                               -- result
 sessionNew  = liftIO $ do
     result <- soup_session_new
     checkUnexpectedReturnNULL "soup_session_new" result
@@ -1192,9 +1285,8 @@
 
 -- method Session::abort
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1206,19 +1298,22 @@
 
 sessionAbort ::
     (MonadIO m, SessionK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 sessionAbort _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_session_abort _obj'
     touchManagedPtr _obj
     return ()
 
+data SessionAbortMethodInfo
+instance (signature ~ (m ()), MonadIO m, SessionK a) => MethodInfo SessionAbortMethodInfo a signature where
+    overloadedMethod _ = sessionAbort
+
 -- method Session::add_feature
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1231,9 +1326,9 @@
 
 sessionAddFeature ::
     (MonadIO m, SessionK a, SessionFeatureK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- feature
-    m ()
+    a                                       -- _obj
+    -> b                                    -- feature
+    -> m ()                                 -- result
 sessionAddFeature _obj feature = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let feature' = unsafeManagedPtrCastPtr feature
@@ -1242,11 +1337,14 @@
     touchManagedPtr feature
     return ()
 
+data SessionAddFeatureMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, SessionK a, SessionFeatureK b) => MethodInfo SessionAddFeatureMethodInfo a signature where
+    overloadedMethod _ = sessionAddFeature
+
 -- method Session::add_feature_by_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1259,21 +1357,24 @@
 
 sessionAddFeatureByType ::
     (MonadIO m, SessionK a) =>
-    a ->                                    -- _obj
-    GType ->                                -- feature_type
-    m ()
-sessionAddFeatureByType _obj feature_type = liftIO $ do
+    a                                       -- _obj
+    -> GType                                -- featureType
+    -> m ()                                 -- result
+sessionAddFeatureByType _obj featureType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let feature_type' = gtypeToCGType feature_type
-    soup_session_add_feature_by_type _obj' feature_type'
+    let featureType' = gtypeToCGType featureType
+    soup_session_add_feature_by_type _obj' featureType'
     touchManagedPtr _obj
     return ()
 
+data SessionAddFeatureByTypeMethodInfo
+instance (signature ~ (GType -> m ()), MonadIO m, SessionK a) => MethodInfo SessionAddFeatureByTypeMethodInfo a signature where
+    overloadedMethod _ = sessionAddFeatureByType
+
 -- method Session::cancel_message
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1287,23 +1388,26 @@
 
 sessionCancelMessage ::
     (MonadIO m, SessionK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    Word32 ->                               -- status_code
-    m ()
-sessionCancelMessage _obj msg status_code = liftIO $ do
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> Word32                               -- statusCode
+    -> m ()                                 -- result
+sessionCancelMessage _obj msg statusCode = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
-    soup_session_cancel_message _obj' msg' status_code
+    soup_session_cancel_message _obj' msg' statusCode
     touchManagedPtr _obj
     touchManagedPtr msg
     return ()
 
+data SessionCancelMessageMethodInfo
+instance (signature ~ (b -> Word32 -> m ()), MonadIO m, SessionK a, MessageK b) => MethodInfo SessionCancelMessageMethodInfo a signature where
+    overloadedMethod _ = sessionCancelMessage
+
 -- method Session::get_async_context
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "GLib" "MainContext"
 -- throws : False
 -- Skip return : False
@@ -1315,8 +1419,8 @@
 
 sessionGetAsyncContext ::
     (MonadIO m, SessionK a) =>
-    a ->                                    -- _obj
-    m GLib.MainContext
+    a                                       -- _obj
+    -> m GLib.MainContext                   -- result
 sessionGetAsyncContext _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_session_get_async_context _obj'
@@ -1325,11 +1429,14 @@
     touchManagedPtr _obj
     return result'
 
+data SessionGetAsyncContextMethodInfo
+instance (signature ~ (m GLib.MainContext), MonadIO m, SessionK a) => MethodInfo SessionGetAsyncContextMethodInfo a signature where
+    overloadedMethod _ = sessionGetAsyncContext
+
 -- method Session::get_feature
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "SessionFeature"
 -- throws : False
 -- Skip return : False
@@ -1342,23 +1449,26 @@
 
 sessionGetFeature ::
     (MonadIO m, SessionK a) =>
-    a ->                                    -- _obj
-    GType ->                                -- feature_type
-    m SessionFeature
-sessionGetFeature _obj feature_type = liftIO $ do
+    a                                       -- _obj
+    -> GType                                -- featureType
+    -> m SessionFeature                     -- result
+sessionGetFeature _obj featureType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let feature_type' = gtypeToCGType feature_type
-    result <- soup_session_get_feature _obj' feature_type'
+    let featureType' = gtypeToCGType featureType
+    result <- soup_session_get_feature _obj' featureType'
     checkUnexpectedReturnNULL "soup_session_get_feature" result
     result' <- (newObject SessionFeature) result
     touchManagedPtr _obj
     return result'
 
+data SessionGetFeatureMethodInfo
+instance (signature ~ (GType -> m SessionFeature), MonadIO m, SessionK a) => MethodInfo SessionGetFeatureMethodInfo a signature where
+    overloadedMethod _ = sessionGetFeature
+
 -- method Session::get_feature_for_message
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "SessionFeature"
 -- throws : False
 -- Skip return : False
@@ -1372,26 +1482,29 @@
 
 sessionGetFeatureForMessage ::
     (MonadIO m, SessionK a, MessageK b) =>
-    a ->                                    -- _obj
-    GType ->                                -- feature_type
-    b ->                                    -- msg
-    m SessionFeature
-sessionGetFeatureForMessage _obj feature_type msg = liftIO $ do
+    a                                       -- _obj
+    -> GType                                -- featureType
+    -> b                                    -- msg
+    -> m SessionFeature                     -- result
+sessionGetFeatureForMessage _obj featureType msg = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let feature_type' = gtypeToCGType feature_type
+    let featureType' = gtypeToCGType featureType
     let msg' = unsafeManagedPtrCastPtr msg
-    result <- soup_session_get_feature_for_message _obj' feature_type' msg'
+    result <- soup_session_get_feature_for_message _obj' featureType' msg'
     checkUnexpectedReturnNULL "soup_session_get_feature_for_message" result
     result' <- (newObject SessionFeature) result
     touchManagedPtr _obj
     touchManagedPtr msg
     return result'
 
+data SessionGetFeatureForMessageMethodInfo
+instance (signature ~ (GType -> b -> m SessionFeature), MonadIO m, SessionK a, MessageK b) => MethodInfo SessionGetFeatureForMessageMethodInfo a signature where
+    overloadedMethod _ = sessionGetFeatureForMessage
+
 -- method Session::get_features
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TInterface "Soup" "SessionFeature")
 -- throws : False
 -- Skip return : False
@@ -1404,13 +1517,13 @@
 
 sessionGetFeatures ::
     (MonadIO m, SessionK a) =>
-    a ->                                    -- _obj
-    GType ->                                -- feature_type
-    m [SessionFeature]
-sessionGetFeatures _obj feature_type = liftIO $ do
+    a                                       -- _obj
+    -> GType                                -- featureType
+    -> m [SessionFeature]                   -- result
+sessionGetFeatures _obj featureType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let feature_type' = gtypeToCGType feature_type
-    result <- soup_session_get_features _obj' feature_type'
+    let featureType' = gtypeToCGType featureType
+    result <- soup_session_get_features _obj' featureType'
     checkUnexpectedReturnNULL "soup_session_get_features" result
     result' <- unpackGSList result
     result'' <- mapM (newObject SessionFeature) result'
@@ -1418,11 +1531,14 @@
     touchManagedPtr _obj
     return result''
 
+data SessionGetFeaturesMethodInfo
+instance (signature ~ (GType -> m [SessionFeature]), MonadIO m, SessionK a) => MethodInfo SessionGetFeaturesMethodInfo a signature where
+    overloadedMethod _ = sessionGetFeatures
+
 -- method Session::has_feature
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1435,22 +1551,25 @@
 
 sessionHasFeature ::
     (MonadIO m, SessionK a) =>
-    a ->                                    -- _obj
-    GType ->                                -- feature_type
-    m Bool
-sessionHasFeature _obj feature_type = liftIO $ do
+    a                                       -- _obj
+    -> GType                                -- featureType
+    -> m Bool                               -- result
+sessionHasFeature _obj featureType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let feature_type' = gtypeToCGType feature_type
-    result <- soup_session_has_feature _obj' feature_type'
+    let featureType' = gtypeToCGType featureType
+    result <- soup_session_has_feature _obj' featureType'
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
 
+data SessionHasFeatureMethodInfo
+instance (signature ~ (GType -> m Bool), MonadIO m, SessionK a) => MethodInfo SessionHasFeatureMethodInfo a signature where
+    overloadedMethod _ = sessionHasFeature
+
 -- method Session::pause_message
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1463,9 +1582,9 @@
 
 sessionPauseMessage ::
     (MonadIO m, SessionK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    m ()
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> m ()                                 -- result
 sessionPauseMessage _obj msg = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -1474,11 +1593,14 @@
     touchManagedPtr msg
     return ()
 
+data SessionPauseMessageMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, SessionK a, MessageK b) => MethodInfo SessionPauseMessageMethodInfo a signature where
+    overloadedMethod _ = sessionPauseMessage
+
 -- method Session::prefetch_dns
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AddressCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Soup" "AddressCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_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 "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AddressCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1494,11 +1616,11 @@
 
 sessionPrefetchDns ::
     (MonadIO m, SessionK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- hostname
-    Maybe (b) ->                            -- cancellable
-    Maybe (AddressCallback) ->              -- callback
-    m ()
+    a                                       -- _obj
+    -> T.Text                               -- hostname
+    -> Maybe (b)                            -- cancellable
+    -> Maybe (AddressCallback)              -- callback
+    -> m ()                                 -- result
 sessionPrefetchDns _obj hostname cancellable callback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     hostname' <- textToCString hostname
@@ -1514,18 +1636,21 @@
             jCallback' <- mkAddressCallback (addressCallbackWrapper (Just ptrcallback) jCallback)
             poke ptrcallback jCallback'
             return jCallback'
-    let user_data = nullPtr
-    soup_session_prefetch_dns _obj' hostname' maybeCancellable maybeCallback user_data
+    let userData = nullPtr
+    soup_session_prefetch_dns _obj' hostname' maybeCancellable maybeCallback userData
     touchManagedPtr _obj
     whenJust cancellable touchManagedPtr
     freeMem hostname'
     return ()
 
+data SessionPrefetchDnsMethodInfo
+instance (signature ~ (T.Text -> Maybe (b) -> Maybe (AddressCallback) -> m ()), MonadIO m, SessionK a, Gio.CancellableK b) => MethodInfo SessionPrefetchDnsMethodInfo a signature where
+    overloadedMethod _ = sessionPrefetchDns
+
 -- method Session::prepare_for_uri
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1538,9 +1663,9 @@
 {-# DEPRECATED sessionPrepareForUri ["(Since version 2.38)","use soup_session_prefetch_dns() instead"]#-}
 sessionPrepareForUri ::
     (MonadIO m, SessionK a) =>
-    a ->                                    -- _obj
-    URI ->                                  -- uri
-    m ()
+    a                                       -- _obj
+    -> URI                                  -- uri
+    -> m ()                                 -- result
 sessionPrepareForUri _obj uri = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let uri' = unsafeManagedPtrGetPtr uri
@@ -1549,11 +1674,14 @@
     touchManagedPtr uri
     return ()
 
+data SessionPrepareForUriMethodInfo
+instance (signature ~ (URI -> m ()), MonadIO m, SessionK a) => MethodInfo SessionPrepareForUriMethodInfo a signature where
+    overloadedMethod _ = sessionPrepareForUri
+
 -- method Session::queue_message
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "callback", argType = TInterface "Soup" "SessionCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "callback", argType = TInterface "Soup" "SessionCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "callback", argType = TInterface "Soup" "SessionCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1568,10 +1696,10 @@
 
 sessionQueueMessage ::
     (MonadIO m, SessionK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    Maybe (SessionCallback) ->              -- callback
-    m ()
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> Maybe (SessionCallback)              -- callback
+    -> m ()                                 -- result
 sessionQueueMessage _obj msg callback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     msg' <- refObject msg
@@ -1582,17 +1710,20 @@
             jCallback' <- mkSessionCallback (sessionCallbackWrapper (Just ptrcallback) jCallback)
             poke ptrcallback jCallback'
             return jCallback'
-    let user_data = nullPtr
-    soup_session_queue_message _obj' msg' maybeCallback user_data
+    let userData = nullPtr
+    soup_session_queue_message _obj' msg' maybeCallback userData
     touchManagedPtr _obj
     touchManagedPtr msg
     return ()
 
+data SessionQueueMessageMethodInfo
+instance (signature ~ (b -> Maybe (SessionCallback) -> m ()), MonadIO m, SessionK a, MessageK b) => MethodInfo SessionQueueMessageMethodInfo a signature where
+    overloadedMethod _ = sessionQueueMessage
+
 -- method Session::redirect_message
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1605,9 +1736,9 @@
 
 sessionRedirectMessage ::
     (MonadIO m, SessionK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    m Bool
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> m Bool                               -- result
 sessionRedirectMessage _obj msg = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -1617,11 +1748,14 @@
     touchManagedPtr msg
     return result'
 
+data SessionRedirectMessageMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, SessionK a, MessageK b) => MethodInfo SessionRedirectMessageMethodInfo a signature where
+    overloadedMethod _ = sessionRedirectMessage
+
 -- method Session::remove_feature
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1634,9 +1768,9 @@
 
 sessionRemoveFeature ::
     (MonadIO m, SessionK a, SessionFeatureK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- feature
-    m ()
+    a                                       -- _obj
+    -> b                                    -- feature
+    -> m ()                                 -- result
 sessionRemoveFeature _obj feature = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let feature' = unsafeManagedPtrCastPtr feature
@@ -1645,11 +1779,14 @@
     touchManagedPtr feature
     return ()
 
+data SessionRemoveFeatureMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, SessionK a, SessionFeatureK b) => MethodInfo SessionRemoveFeatureMethodInfo a signature where
+    overloadedMethod _ = sessionRemoveFeature
+
 -- method Session::remove_feature_by_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1662,21 +1799,24 @@
 
 sessionRemoveFeatureByType ::
     (MonadIO m, SessionK a) =>
-    a ->                                    -- _obj
-    GType ->                                -- feature_type
-    m ()
-sessionRemoveFeatureByType _obj feature_type = liftIO $ do
+    a                                       -- _obj
+    -> GType                                -- featureType
+    -> m ()                                 -- result
+sessionRemoveFeatureByType _obj featureType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let feature_type' = gtypeToCGType feature_type
-    soup_session_remove_feature_by_type _obj' feature_type'
+    let featureType' = gtypeToCGType featureType
+    soup_session_remove_feature_by_type _obj' featureType'
     touchManagedPtr _obj
     return ()
 
+data SessionRemoveFeatureByTypeMethodInfo
+instance (signature ~ (GType -> m ()), MonadIO m, SessionK a) => MethodInfo SessionRemoveFeatureByTypeMethodInfo a signature where
+    overloadedMethod _ = sessionRemoveFeatureByType
+
 -- method Session::request
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Request"
 -- throws : True
 -- Skip return : False
@@ -1690,28 +1830,31 @@
 
 sessionRequest ::
     (MonadIO m, SessionK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- uri_string
-    m Request
-sessionRequest _obj uri_string = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- uriString
+    -> m Request                            -- result
+sessionRequest _obj uriString = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    uri_string' <- textToCString uri_string
+    uriString' <- textToCString uriString
     onException (do
-        result <- propagateGError $ soup_session_request _obj' uri_string'
+        result <- propagateGError $ soup_session_request _obj' uriString'
         checkUnexpectedReturnNULL "soup_session_request" result
         result' <- (wrapObject Request) result
         touchManagedPtr _obj
-        freeMem uri_string'
+        freeMem uriString'
         return result'
      ) (do
-        freeMem uri_string'
+        freeMem uriString'
      )
 
+data SessionRequestMethodInfo
+instance (signature ~ (T.Text -> m Request), MonadIO m, SessionK a) => MethodInfo SessionRequestMethodInfo a signature where
+    overloadedMethod _ = sessionRequest
+
 -- method Session::request_http
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "RequestHTTP"
 -- throws : True
 -- Skip return : False
@@ -1726,32 +1869,35 @@
 
 sessionRequestHttp ::
     (MonadIO m, SessionK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- method
-    T.Text ->                               -- uri_string
-    m RequestHTTP
-sessionRequestHttp _obj method uri_string = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- method
+    -> T.Text                               -- uriString
+    -> m RequestHTTP                        -- result
+sessionRequestHttp _obj method uriString = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     method' <- textToCString method
-    uri_string' <- textToCString uri_string
+    uriString' <- textToCString uriString
     onException (do
-        result <- propagateGError $ soup_session_request_http _obj' method' uri_string'
+        result <- propagateGError $ soup_session_request_http _obj' method' uriString'
         checkUnexpectedReturnNULL "soup_session_request_http" result
         result' <- (wrapObject RequestHTTP) result
         touchManagedPtr _obj
         freeMem method'
-        freeMem uri_string'
+        freeMem uriString'
         return result'
      ) (do
         freeMem method'
-        freeMem uri_string'
+        freeMem uriString'
      )
 
+data SessionRequestHttpMethodInfo
+instance (signature ~ (T.Text -> T.Text -> m RequestHTTP), MonadIO m, SessionK a) => MethodInfo SessionRequestHttpMethodInfo a signature where
+    overloadedMethod _ = sessionRequestHttp
+
 -- method Session::request_http_uri
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "RequestHTTP"
 -- throws : True
 -- Skip return : False
@@ -1766,10 +1912,10 @@
 
 sessionRequestHttpUri ::
     (MonadIO m, SessionK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- method
-    URI ->                                  -- uri
-    m RequestHTTP
+    a                                       -- _obj
+    -> T.Text                               -- method
+    -> URI                                  -- uri
+    -> m RequestHTTP                        -- result
 sessionRequestHttpUri _obj method uri = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     method' <- textToCString method
@@ -1786,11 +1932,14 @@
         freeMem method'
      )
 
+data SessionRequestHttpUriMethodInfo
+instance (signature ~ (T.Text -> URI -> m RequestHTTP), MonadIO m, SessionK a) => MethodInfo SessionRequestHttpUriMethodInfo a signature where
+    overloadedMethod _ = sessionRequestHttpUri
+
 -- method Session::request_uri
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Request"
 -- throws : True
 -- Skip return : False
@@ -1804,9 +1953,9 @@
 
 sessionRequestUri ::
     (MonadIO m, SessionK a) =>
-    a ->                                    -- _obj
-    URI ->                                  -- uri
-    m Request
+    a                                       -- _obj
+    -> URI                                  -- uri
+    -> m Request                            -- result
 sessionRequestUri _obj uri = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let uri' = unsafeManagedPtrGetPtr uri
@@ -1821,11 +1970,14 @@
         return ()
      )
 
+data SessionRequestUriMethodInfo
+instance (signature ~ (URI -> m Request), MonadIO m, SessionK a) => MethodInfo SessionRequestUriMethodInfo a signature where
+    overloadedMethod _ = sessionRequestUri
+
 -- method Session::requeue_message
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1838,9 +1990,9 @@
 
 sessionRequeueMessage ::
     (MonadIO m, SessionK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    m ()
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> m ()                                 -- result
 sessionRequeueMessage _obj msg = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -1849,11 +2001,14 @@
     touchManagedPtr msg
     return ()
 
+data SessionRequeueMessageMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, SessionK a, MessageK b) => MethodInfo SessionRequeueMessageMethodInfo a signature where
+    overloadedMethod _ = sessionRequeueMessage
+
 -- method Session::send
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Gio" "InputStream"
 -- throws : True
 -- Skip return : False
@@ -1868,10 +2023,10 @@
 
 sessionSend ::
     (MonadIO m, SessionK a, MessageK b, Gio.CancellableK c) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    Maybe (c) ->                            -- cancellable
-    m Gio.InputStream
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> Maybe (c)                            -- cancellable
+    -> m Gio.InputStream                    -- result
 sessionSend _obj msg cancellable = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -1892,11 +2047,14 @@
         return ()
      )
 
+data SessionSendMethodInfo
+instance (signature ~ (b -> Maybe (c) -> m Gio.InputStream), MonadIO m, SessionK a, MessageK b, Gio.CancellableK c) => MethodInfo SessionSendMethodInfo a signature where
+    overloadedMethod _ = sessionSend
+
 -- method Session::send_async
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_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 "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1912,11 +2070,11 @@
 
 sessionSendAsync ::
     (MonadIO m, SessionK a, MessageK b, Gio.CancellableK c) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    Maybe (c) ->                            -- cancellable
-    Maybe (Gio.AsyncReadyCallback) ->       -- callback
-    m ()
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> Maybe (c)                            -- cancellable
+    -> Maybe (Gio.AsyncReadyCallback)       -- callback
+    -> m ()                                 -- result
 sessionSendAsync _obj msg cancellable callback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -1932,18 +2090,21 @@
             jCallback' <- Gio.mkAsyncReadyCallback (Gio.asyncReadyCallbackWrapper (Just ptrcallback) jCallback)
             poke ptrcallback jCallback'
             return jCallback'
-    let user_data = nullPtr
-    soup_session_send_async _obj' msg' maybeCancellable maybeCallback user_data
+    let userData = nullPtr
+    soup_session_send_async _obj' msg' maybeCancellable maybeCallback userData
     touchManagedPtr _obj
     touchManagedPtr msg
     whenJust cancellable touchManagedPtr
     return ()
 
+data SessionSendAsyncMethodInfo
+instance (signature ~ (b -> Maybe (c) -> Maybe (Gio.AsyncReadyCallback) -> m ()), MonadIO m, SessionK a, MessageK b, Gio.CancellableK c) => MethodInfo SessionSendAsyncMethodInfo a signature where
+    overloadedMethod _ = sessionSendAsync
+
 -- method Session::send_finish
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Gio" "InputStream"
 -- throws : True
 -- Skip return : False
@@ -1957,9 +2118,9 @@
 
 sessionSendFinish ::
     (MonadIO m, SessionK a, Gio.AsyncResultK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- result
-    m Gio.InputStream
+    a                                       -- _obj
+    -> b                                    -- result_
+    -> m Gio.InputStream                    -- result
 sessionSendFinish _obj result_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let result_' = unsafeManagedPtrCastPtr result_
@@ -1974,11 +2135,14 @@
         return ()
      )
 
+data SessionSendFinishMethodInfo
+instance (signature ~ (b -> m Gio.InputStream), MonadIO m, SessionK a, Gio.AsyncResultK b) => MethodInfo SessionSendFinishMethodInfo a signature where
+    overloadedMethod _ = sessionSendFinish
+
 -- method Session::send_message
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -1991,9 +2155,9 @@
 
 sessionSendMessage ::
     (MonadIO m, SessionK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    m Word32
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> m Word32                             -- result
 sessionSendMessage _obj msg = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -2002,11 +2166,14 @@
     touchManagedPtr msg
     return result
 
+data SessionSendMessageMethodInfo
+instance (signature ~ (b -> m Word32), MonadIO m, SessionK a, MessageK b) => MethodInfo SessionSendMessageMethodInfo a signature where
+    overloadedMethod _ = sessionSendMessage
+
 -- method Session::steal_connection
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Gio" "IOStream"
 -- throws : False
 -- Skip return : False
@@ -2019,9 +2186,9 @@
 
 sessionStealConnection ::
     (MonadIO m, SessionK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    m Gio.IOStream
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> m Gio.IOStream                       -- result
 sessionStealConnection _obj msg = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -2032,11 +2199,14 @@
     touchManagedPtr msg
     return result'
 
+data SessionStealConnectionMethodInfo
+instance (signature ~ (b -> m Gio.IOStream), MonadIO m, SessionK a, MessageK b) => MethodInfo SessionStealConnectionMethodInfo a signature where
+    overloadedMethod _ = sessionStealConnection
+
 -- method Session::unpause_message
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2049,9 +2219,9 @@
 
 sessionUnpauseMessage ::
     (MonadIO m, SessionK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    m ()
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> m ()                                 -- result
 sessionUnpauseMessage _obj msg = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -2060,11 +2230,14 @@
     touchManagedPtr msg
     return ()
 
+data SessionUnpauseMessageMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, SessionK a, MessageK b) => MethodInfo SessionUnpauseMessageMethodInfo a signature where
+    overloadedMethod _ = sessionUnpauseMessage
+
 -- method Session::websocket_connect_async
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 6, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 6, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_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 "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 6, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -2082,13 +2255,13 @@
 
 sessionWebsocketConnectAsync ::
     (MonadIO m, SessionK a, MessageK b, Gio.CancellableK c) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    Maybe (T.Text) ->                       -- origin
-    Maybe ([T.Text]) ->                     -- protocols
-    Maybe (c) ->                            -- cancellable
-    Maybe (Gio.AsyncReadyCallback) ->       -- callback
-    m ()
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> Maybe (T.Text)                       -- origin
+    -> Maybe ([T.Text])                     -- protocols
+    -> Maybe (c)                            -- cancellable
+    -> Maybe (Gio.AsyncReadyCallback)       -- callback
+    -> m ()                                 -- result
 sessionWebsocketConnectAsync _obj msg origin protocols cancellable callback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -2114,8 +2287,8 @@
             jCallback' <- Gio.mkAsyncReadyCallback (Gio.asyncReadyCallbackWrapper (Just ptrcallback) jCallback)
             poke ptrcallback jCallback'
             return jCallback'
-    let user_data = nullPtr
-    soup_session_websocket_connect_async _obj' msg' maybeOrigin maybeProtocols maybeCancellable maybeCallback user_data
+    let userData = nullPtr
+    soup_session_websocket_connect_async _obj' msg' maybeOrigin maybeProtocols maybeCancellable maybeCallback userData
     touchManagedPtr _obj
     touchManagedPtr msg
     whenJust cancellable touchManagedPtr
@@ -2124,11 +2297,14 @@
     freeMem maybeProtocols
     return ()
 
+data SessionWebsocketConnectAsyncMethodInfo
+instance (signature ~ (b -> Maybe (T.Text) -> Maybe ([T.Text]) -> Maybe (c) -> Maybe (Gio.AsyncReadyCallback) -> m ()), MonadIO m, SessionK a, MessageK b, Gio.CancellableK c) => MethodInfo SessionWebsocketConnectAsyncMethodInfo a signature where
+    overloadedMethod _ = sessionWebsocketConnectAsync
+
 -- method Session::websocket_connect_finish
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "WebsocketConnection"
 -- throws : True
 -- Skip return : False
@@ -2142,9 +2318,9 @@
 
 sessionWebsocketConnectFinish ::
     (MonadIO m, SessionK a, Gio.AsyncResultK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- result
-    m WebsocketConnection
+    a                                       -- _obj
+    -> b                                    -- result_
+    -> m WebsocketConnection                -- result
 sessionWebsocketConnectFinish _obj result_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let result_' = unsafeManagedPtrCastPtr result_
@@ -2159,11 +2335,14 @@
         return ()
      )
 
+data SessionWebsocketConnectFinishMethodInfo
+instance (signature ~ (b -> m WebsocketConnection), MonadIO m, SessionK a, Gio.AsyncResultK b) => MethodInfo SessionWebsocketConnectFinishMethodInfo a signature where
+    overloadedMethod _ = sessionWebsocketConnectFinish
+
 -- method Session::would_redirect
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -2176,9 +2355,9 @@
 
 sessionWouldRedirect ::
     (MonadIO m, SessionK a, MessageK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- msg
-    m Bool
+    a                                       -- _obj
+    -> b                                    -- msg
+    -> m Bool                               -- result
 sessionWouldRedirect _obj msg = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let msg' = unsafeManagedPtrCastPtr msg
@@ -2187,5 +2366,9 @@
     touchManagedPtr _obj
     touchManagedPtr msg
     return result'
+
+data SessionWouldRedirectMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, SessionK a, MessageK b) => MethodInfo SessionWouldRedirectMethodInfo a signature where
+    overloadedMethod _ = sessionWouldRedirect
 
 
diff --git a/GI/Soup/Objects/Session.hs-boot b/GI/Soup/Objects/Session.hs-boot
--- a/GI/Soup/Objects/Session.hs-boot
+++ b/GI/Soup/Objects/Session.hs-boot
@@ -37,3 +37,33 @@
 data SessionRequestStartedSignalInfo
 data SessionRequestUnqueuedSignalInfo
 data SessionTunnelingSignalInfo
+data SessionAbortMethodInfo
+data SessionAddFeatureMethodInfo
+data SessionAddFeatureByTypeMethodInfo
+data SessionCancelMessageMethodInfo
+data SessionGetAsyncContextMethodInfo
+data SessionGetFeatureMethodInfo
+data SessionGetFeatureForMessageMethodInfo
+data SessionGetFeaturesMethodInfo
+data SessionHasFeatureMethodInfo
+data SessionPauseMessageMethodInfo
+data SessionPrefetchDnsMethodInfo
+data SessionPrepareForUriMethodInfo
+data SessionQueueMessageMethodInfo
+data SessionRedirectMessageMethodInfo
+data SessionRemoveFeatureMethodInfo
+data SessionRemoveFeatureByTypeMethodInfo
+data SessionRequestMethodInfo
+data SessionRequestHttpMethodInfo
+data SessionRequestHttpUriMethodInfo
+data SessionRequestUriMethodInfo
+data SessionRequeueMessageMethodInfo
+data SessionSendMethodInfo
+data SessionSendAsyncMethodInfo
+data SessionSendFinishMethodInfo
+data SessionSendMessageMethodInfo
+data SessionStealConnectionMethodInfo
+data SessionUnpauseMessageMethodInfo
+data SessionWebsocketConnectAsyncMethodInfo
+data SessionWebsocketConnectFinishMethodInfo
+data SessionWouldRedirectMethodInfo
diff --git a/GI/Soup/Objects/SessionAsync.hs b/GI/Soup/Objects/SessionAsync.hs
--- a/GI/Soup/Objects/SessionAsync.hs
+++ b/GI/Soup/Objects/SessionAsync.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -56,17 +57,79 @@
 noSessionAsync :: Maybe SessionAsync
 noSessionAsync = Nothing
 
+type family ResolveSessionAsyncMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSessionAsyncMethod "abort" o = SessionAbortMethodInfo
+    ResolveSessionAsyncMethod "addFeature" o = SessionAddFeatureMethodInfo
+    ResolveSessionAsyncMethod "addFeatureByType" o = SessionAddFeatureByTypeMethodInfo
+    ResolveSessionAsyncMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveSessionAsyncMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveSessionAsyncMethod "cancelMessage" o = SessionCancelMessageMethodInfo
+    ResolveSessionAsyncMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveSessionAsyncMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveSessionAsyncMethod "hasFeature" o = SessionHasFeatureMethodInfo
+    ResolveSessionAsyncMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveSessionAsyncMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveSessionAsyncMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveSessionAsyncMethod "pauseMessage" o = SessionPauseMessageMethodInfo
+    ResolveSessionAsyncMethod "prefetchDns" o = SessionPrefetchDnsMethodInfo
+    ResolveSessionAsyncMethod "prepareForUri" o = SessionPrepareForUriMethodInfo
+    ResolveSessionAsyncMethod "queueMessage" o = SessionQueueMessageMethodInfo
+    ResolveSessionAsyncMethod "redirectMessage" o = SessionRedirectMessageMethodInfo
+    ResolveSessionAsyncMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveSessionAsyncMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveSessionAsyncMethod "removeFeature" o = SessionRemoveFeatureMethodInfo
+    ResolveSessionAsyncMethod "removeFeatureByType" o = SessionRemoveFeatureByTypeMethodInfo
+    ResolveSessionAsyncMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveSessionAsyncMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveSessionAsyncMethod "request" o = SessionRequestMethodInfo
+    ResolveSessionAsyncMethod "requestHttp" o = SessionRequestHttpMethodInfo
+    ResolveSessionAsyncMethod "requestHttpUri" o = SessionRequestHttpUriMethodInfo
+    ResolveSessionAsyncMethod "requestUri" o = SessionRequestUriMethodInfo
+    ResolveSessionAsyncMethod "requeueMessage" o = SessionRequeueMessageMethodInfo
+    ResolveSessionAsyncMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveSessionAsyncMethod "send" o = SessionSendMethodInfo
+    ResolveSessionAsyncMethod "sendAsync" o = SessionSendAsyncMethodInfo
+    ResolveSessionAsyncMethod "sendFinish" o = SessionSendFinishMethodInfo
+    ResolveSessionAsyncMethod "sendMessage" o = SessionSendMessageMethodInfo
+    ResolveSessionAsyncMethod "stealConnection" o = SessionStealConnectionMethodInfo
+    ResolveSessionAsyncMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveSessionAsyncMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveSessionAsyncMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveSessionAsyncMethod "unpauseMessage" o = SessionUnpauseMessageMethodInfo
+    ResolveSessionAsyncMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveSessionAsyncMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveSessionAsyncMethod "websocketConnectAsync" o = SessionWebsocketConnectAsyncMethodInfo
+    ResolveSessionAsyncMethod "websocketConnectFinish" o = SessionWebsocketConnectFinishMethodInfo
+    ResolveSessionAsyncMethod "wouldRedirect" o = SessionWouldRedirectMethodInfo
+    ResolveSessionAsyncMethod "getAsyncContext" o = SessionGetAsyncContextMethodInfo
+    ResolveSessionAsyncMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveSessionAsyncMethod "getFeature" o = SessionGetFeatureMethodInfo
+    ResolveSessionAsyncMethod "getFeatureForMessage" o = SessionGetFeatureForMessageMethodInfo
+    ResolveSessionAsyncMethod "getFeatures" o = SessionGetFeaturesMethodInfo
+    ResolveSessionAsyncMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveSessionAsyncMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveSessionAsyncMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveSessionAsyncMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveSessionAsyncMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveSessionAsyncMethod t SessionAsync, MethodInfo info SessionAsync p) => IsLabelProxy t (SessionAsync -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveSessionAsyncMethod t SessionAsync, MethodInfo info SessionAsync p) => IsLabel t (SessionAsync -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList SessionAsync = SessionAsyncAttributeList
-type SessionAsyncAttributeList = ('[ '("accept-language", SessionAcceptLanguagePropertyInfo), '("accept-language-auto", SessionAcceptLanguageAutoPropertyInfo), '("async-context", SessionAsyncContextPropertyInfo), '("http-aliases", SessionHttpAliasesPropertyInfo), '("https-aliases", SessionHttpsAliasesPropertyInfo), '("idle-timeout", SessionIdleTimeoutPropertyInfo), '("local-address", SessionLocalAddressPropertyInfo), '("max-conns", SessionMaxConnsPropertyInfo), '("max-conns-per-host", SessionMaxConnsPerHostPropertyInfo), '("proxy-resolver", SessionProxyResolverPropertyInfo), '("proxy-uri", SessionProxyUriPropertyInfo), '("ssl-ca-file", SessionSslCaFilePropertyInfo), '("ssl-strict", SessionSslStrictPropertyInfo), '("ssl-use-system-ca-file", SessionSslUseSystemCaFilePropertyInfo), '("timeout", SessionTimeoutPropertyInfo), '("tls-database", SessionTlsDatabasePropertyInfo), '("tls-interaction", SessionTlsInteractionPropertyInfo), '("use-ntlm", SessionUseNtlmPropertyInfo), '("use-thread-context", SessionUseThreadContextPropertyInfo), '("user-agent", SessionUserAgentPropertyInfo)] :: [(Symbol, *)])
+type SessionAsyncAttributeList = ('[ '("acceptLanguage", SessionAcceptLanguagePropertyInfo), '("acceptLanguageAuto", SessionAcceptLanguageAutoPropertyInfo), '("asyncContext", SessionAsyncContextPropertyInfo), '("httpAliases", SessionHttpAliasesPropertyInfo), '("httpsAliases", SessionHttpsAliasesPropertyInfo), '("idleTimeout", SessionIdleTimeoutPropertyInfo), '("localAddress", SessionLocalAddressPropertyInfo), '("maxConns", SessionMaxConnsPropertyInfo), '("maxConnsPerHost", SessionMaxConnsPerHostPropertyInfo), '("proxyResolver", SessionProxyResolverPropertyInfo), '("proxyUri", SessionProxyUriPropertyInfo), '("sslCaFile", SessionSslCaFilePropertyInfo), '("sslStrict", SessionSslStrictPropertyInfo), '("sslUseSystemCaFile", SessionSslUseSystemCaFilePropertyInfo), '("timeout", SessionTimeoutPropertyInfo), '("tlsDatabase", SessionTlsDatabasePropertyInfo), '("tlsInteraction", SessionTlsInteractionPropertyInfo), '("useNtlm", SessionUseNtlmPropertyInfo), '("useThreadContext", SessionUseThreadContextPropertyInfo), '("userAgent", SessionUserAgentPropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList SessionAsync = SessionAsyncSignalList
-type SessionAsyncSignalList = ('[ '("authenticate", SessionAuthenticateSignalInfo), '("connection-created", SessionConnectionCreatedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("request-queued", SessionRequestQueuedSignalInfo), '("request-started", SessionRequestStartedSignalInfo), '("request-unqueued", SessionRequestUnqueuedSignalInfo), '("tunneling", SessionTunnelingSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type SessionAsyncSignalList = ('[ '("authenticate", SessionAuthenticateSignalInfo), '("connectionCreated", SessionConnectionCreatedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("requestQueued", SessionRequestQueuedSignalInfo), '("requestStarted", SessionRequestStartedSignalInfo), '("requestUnqueued", SessionRequestUnqueuedSignalInfo), '("tunneling", SessionTunnelingSignalInfo)] :: [(Symbol, *)])
 
 -- method SessionAsync::new
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Soup" "SessionAsync"
 -- throws : False
 -- Skip return : False
@@ -77,7 +140,7 @@
 {-# DEPRECATED sessionAsyncNew ["#SoupSessionAsync is deprecated; use a plain","#SoupSession, created with soup_session_new(). See the <link","linkend=\"libsoup-session-porting\">porting guide</link>."]#-}
 sessionAsyncNew ::
     (MonadIO m) =>
-    m SessionAsync
+    m SessionAsync                          -- result
 sessionAsyncNew  = liftIO $ do
     result <- soup_session_async_new
     checkUnexpectedReturnNULL "soup_session_async_new" result
diff --git a/GI/Soup/Objects/SessionSync.hs b/GI/Soup/Objects/SessionSync.hs
--- a/GI/Soup/Objects/SessionSync.hs
+++ b/GI/Soup/Objects/SessionSync.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -56,17 +57,79 @@
 noSessionSync :: Maybe SessionSync
 noSessionSync = Nothing
 
+type family ResolveSessionSyncMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSessionSyncMethod "abort" o = SessionAbortMethodInfo
+    ResolveSessionSyncMethod "addFeature" o = SessionAddFeatureMethodInfo
+    ResolveSessionSyncMethod "addFeatureByType" o = SessionAddFeatureByTypeMethodInfo
+    ResolveSessionSyncMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveSessionSyncMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveSessionSyncMethod "cancelMessage" o = SessionCancelMessageMethodInfo
+    ResolveSessionSyncMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveSessionSyncMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveSessionSyncMethod "hasFeature" o = SessionHasFeatureMethodInfo
+    ResolveSessionSyncMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveSessionSyncMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveSessionSyncMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveSessionSyncMethod "pauseMessage" o = SessionPauseMessageMethodInfo
+    ResolveSessionSyncMethod "prefetchDns" o = SessionPrefetchDnsMethodInfo
+    ResolveSessionSyncMethod "prepareForUri" o = SessionPrepareForUriMethodInfo
+    ResolveSessionSyncMethod "queueMessage" o = SessionQueueMessageMethodInfo
+    ResolveSessionSyncMethod "redirectMessage" o = SessionRedirectMessageMethodInfo
+    ResolveSessionSyncMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveSessionSyncMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveSessionSyncMethod "removeFeature" o = SessionRemoveFeatureMethodInfo
+    ResolveSessionSyncMethod "removeFeatureByType" o = SessionRemoveFeatureByTypeMethodInfo
+    ResolveSessionSyncMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveSessionSyncMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveSessionSyncMethod "request" o = SessionRequestMethodInfo
+    ResolveSessionSyncMethod "requestHttp" o = SessionRequestHttpMethodInfo
+    ResolveSessionSyncMethod "requestHttpUri" o = SessionRequestHttpUriMethodInfo
+    ResolveSessionSyncMethod "requestUri" o = SessionRequestUriMethodInfo
+    ResolveSessionSyncMethod "requeueMessage" o = SessionRequeueMessageMethodInfo
+    ResolveSessionSyncMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveSessionSyncMethod "send" o = SessionSendMethodInfo
+    ResolveSessionSyncMethod "sendAsync" o = SessionSendAsyncMethodInfo
+    ResolveSessionSyncMethod "sendFinish" o = SessionSendFinishMethodInfo
+    ResolveSessionSyncMethod "sendMessage" o = SessionSendMessageMethodInfo
+    ResolveSessionSyncMethod "stealConnection" o = SessionStealConnectionMethodInfo
+    ResolveSessionSyncMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveSessionSyncMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveSessionSyncMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveSessionSyncMethod "unpauseMessage" o = SessionUnpauseMessageMethodInfo
+    ResolveSessionSyncMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveSessionSyncMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveSessionSyncMethod "websocketConnectAsync" o = SessionWebsocketConnectAsyncMethodInfo
+    ResolveSessionSyncMethod "websocketConnectFinish" o = SessionWebsocketConnectFinishMethodInfo
+    ResolveSessionSyncMethod "wouldRedirect" o = SessionWouldRedirectMethodInfo
+    ResolveSessionSyncMethod "getAsyncContext" o = SessionGetAsyncContextMethodInfo
+    ResolveSessionSyncMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveSessionSyncMethod "getFeature" o = SessionGetFeatureMethodInfo
+    ResolveSessionSyncMethod "getFeatureForMessage" o = SessionGetFeatureForMessageMethodInfo
+    ResolveSessionSyncMethod "getFeatures" o = SessionGetFeaturesMethodInfo
+    ResolveSessionSyncMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveSessionSyncMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveSessionSyncMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveSessionSyncMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveSessionSyncMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveSessionSyncMethod t SessionSync, MethodInfo info SessionSync p) => IsLabelProxy t (SessionSync -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveSessionSyncMethod t SessionSync, MethodInfo info SessionSync p) => IsLabel t (SessionSync -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList SessionSync = SessionSyncAttributeList
-type SessionSyncAttributeList = ('[ '("accept-language", SessionAcceptLanguagePropertyInfo), '("accept-language-auto", SessionAcceptLanguageAutoPropertyInfo), '("async-context", SessionAsyncContextPropertyInfo), '("http-aliases", SessionHttpAliasesPropertyInfo), '("https-aliases", SessionHttpsAliasesPropertyInfo), '("idle-timeout", SessionIdleTimeoutPropertyInfo), '("local-address", SessionLocalAddressPropertyInfo), '("max-conns", SessionMaxConnsPropertyInfo), '("max-conns-per-host", SessionMaxConnsPerHostPropertyInfo), '("proxy-resolver", SessionProxyResolverPropertyInfo), '("proxy-uri", SessionProxyUriPropertyInfo), '("ssl-ca-file", SessionSslCaFilePropertyInfo), '("ssl-strict", SessionSslStrictPropertyInfo), '("ssl-use-system-ca-file", SessionSslUseSystemCaFilePropertyInfo), '("timeout", SessionTimeoutPropertyInfo), '("tls-database", SessionTlsDatabasePropertyInfo), '("tls-interaction", SessionTlsInteractionPropertyInfo), '("use-ntlm", SessionUseNtlmPropertyInfo), '("use-thread-context", SessionUseThreadContextPropertyInfo), '("user-agent", SessionUserAgentPropertyInfo)] :: [(Symbol, *)])
+type SessionSyncAttributeList = ('[ '("acceptLanguage", SessionAcceptLanguagePropertyInfo), '("acceptLanguageAuto", SessionAcceptLanguageAutoPropertyInfo), '("asyncContext", SessionAsyncContextPropertyInfo), '("httpAliases", SessionHttpAliasesPropertyInfo), '("httpsAliases", SessionHttpsAliasesPropertyInfo), '("idleTimeout", SessionIdleTimeoutPropertyInfo), '("localAddress", SessionLocalAddressPropertyInfo), '("maxConns", SessionMaxConnsPropertyInfo), '("maxConnsPerHost", SessionMaxConnsPerHostPropertyInfo), '("proxyResolver", SessionProxyResolverPropertyInfo), '("proxyUri", SessionProxyUriPropertyInfo), '("sslCaFile", SessionSslCaFilePropertyInfo), '("sslStrict", SessionSslStrictPropertyInfo), '("sslUseSystemCaFile", SessionSslUseSystemCaFilePropertyInfo), '("timeout", SessionTimeoutPropertyInfo), '("tlsDatabase", SessionTlsDatabasePropertyInfo), '("tlsInteraction", SessionTlsInteractionPropertyInfo), '("useNtlm", SessionUseNtlmPropertyInfo), '("useThreadContext", SessionUseThreadContextPropertyInfo), '("userAgent", SessionUserAgentPropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList SessionSync = SessionSyncSignalList
-type SessionSyncSignalList = ('[ '("authenticate", SessionAuthenticateSignalInfo), '("connection-created", SessionConnectionCreatedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("request-queued", SessionRequestQueuedSignalInfo), '("request-started", SessionRequestStartedSignalInfo), '("request-unqueued", SessionRequestUnqueuedSignalInfo), '("tunneling", SessionTunnelingSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type SessionSyncSignalList = ('[ '("authenticate", SessionAuthenticateSignalInfo), '("connectionCreated", SessionConnectionCreatedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("requestQueued", SessionRequestQueuedSignalInfo), '("requestStarted", SessionRequestStartedSignalInfo), '("requestUnqueued", SessionRequestUnqueuedSignalInfo), '("tunneling", SessionTunnelingSignalInfo)] :: [(Symbol, *)])
 
 -- method SessionSync::new
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Soup" "SessionSync"
 -- throws : False
 -- Skip return : False
@@ -77,7 +140,7 @@
 {-# DEPRECATED sessionSyncNew ["#SoupSessionSync is deprecated; use a plain","#SoupSession, created with soup_session_new(). See the <link","linkend=\"libsoup-session-porting\">porting guide</link>."]#-}
 sessionSyncNew ::
     (MonadIO m) =>
-    m SessionSync
+    m SessionSync                           -- result
 sessionSyncNew  = liftIO $ do
     result <- soup_session_sync_new
     checkUnexpectedReturnNULL "soup_session_sync_new" result
diff --git a/GI/Soup/Objects/Socket.hs b/GI/Soup/Objects/Socket.hs
--- a/GI/Soup/Objects/Socket.hs
+++ b/GI/Soup/Objects/Socket.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
 -- ** socketConnectAsync
+    SocketConnectAsyncMethodInfo            ,
     socketConnectAsync                      ,
 
 
 -- ** socketConnectSync
+    SocketConnectSyncMethodInfo             ,
     socketConnectSync                       ,
 
 
 -- ** socketDisconnect
+    SocketDisconnectMethodInfo              ,
     socketDisconnect                        ,
 
 
 -- ** socketGetFd
+    SocketGetFdMethodInfo                   ,
     socketGetFd                             ,
 
 
 -- ** socketGetLocalAddress
+    SocketGetLocalAddressMethodInfo         ,
     socketGetLocalAddress                   ,
 
 
 -- ** socketGetRemoteAddress
+    SocketGetRemoteAddressMethodInfo        ,
     socketGetRemoteAddress                  ,
 
 
 -- ** socketIsConnected
+    SocketIsConnectedMethodInfo             ,
     socketIsConnected                       ,
 
 
 -- ** socketIsSsl
+    SocketIsSslMethodInfo                   ,
     socketIsSsl                             ,
 
 
 -- ** socketListen
+    SocketListenMethodInfo                  ,
     socketListen                            ,
 
 
 -- ** socketRead
+    SocketReadMethodInfo                    ,
     socketRead                              ,
 
 
 -- ** socketReadUntil
+    SocketReadUntilMethodInfo               ,
     socketReadUntil                         ,
 
 
 -- ** socketStartProxySsl
+    SocketStartProxySslMethodInfo           ,
     socketStartProxySsl                     ,
 
 
 -- ** socketStartSsl
+    SocketStartSslMethodInfo                ,
     socketStartSsl                          ,
 
 
 -- ** socketWrite
+    SocketWriteMethodInfo                   ,
     socketWrite                             ,
 
 
@@ -275,6 +290,54 @@
 noSocket :: Maybe Socket
 noSocket = Nothing
 
+type family ResolveSocketMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSocketMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveSocketMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveSocketMethod "connectAsync" o = SocketConnectAsyncMethodInfo
+    ResolveSocketMethod "connectSync" o = SocketConnectSyncMethodInfo
+    ResolveSocketMethod "disconnect" o = SocketDisconnectMethodInfo
+    ResolveSocketMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveSocketMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveSocketMethod "init" o = Gio.InitableInitMethodInfo
+    ResolveSocketMethod "isConnected" o = SocketIsConnectedMethodInfo
+    ResolveSocketMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveSocketMethod "isSsl" o = SocketIsSslMethodInfo
+    ResolveSocketMethod "listen" o = SocketListenMethodInfo
+    ResolveSocketMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveSocketMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveSocketMethod "read" o = SocketReadMethodInfo
+    ResolveSocketMethod "readUntil" o = SocketReadUntilMethodInfo
+    ResolveSocketMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveSocketMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveSocketMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveSocketMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveSocketMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveSocketMethod "startProxySsl" o = SocketStartProxySslMethodInfo
+    ResolveSocketMethod "startSsl" o = SocketStartSslMethodInfo
+    ResolveSocketMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveSocketMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveSocketMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveSocketMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveSocketMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveSocketMethod "write" o = SocketWriteMethodInfo
+    ResolveSocketMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveSocketMethod "getFd" o = SocketGetFdMethodInfo
+    ResolveSocketMethod "getLocalAddress" o = SocketGetLocalAddressMethodInfo
+    ResolveSocketMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveSocketMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveSocketMethod "getRemoteAddress" o = SocketGetRemoteAddressMethodInfo
+    ResolveSocketMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveSocketMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveSocketMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveSocketMethod t Socket, MethodInfo info Socket p) => IsLabelProxy t (Socket -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveSocketMethod t Socket, MethodInfo info Socket p) => IsLabel t (Socket -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal Socket::disconnected
 type SocketDisconnectedCallback =
     IO ()
@@ -493,7 +556,7 @@
     type AttrSetTypeConstraint SocketAsyncContextPropertyInfo = (~) (Ptr ())
     type AttrBaseTypeConstraint SocketAsyncContextPropertyInfo = SocketK
     type AttrGetType SocketAsyncContextPropertyInfo = (Ptr ())
-    type AttrLabel SocketAsyncContextPropertyInfo = "Socket::async-context"
+    type AttrLabel SocketAsyncContextPropertyInfo = "async-context"
     attrGet _ = getSocketAsyncContext
     attrSet _ = undefined
     attrConstruct _ = constructSocketAsyncContext
@@ -514,7 +577,7 @@
     type AttrSetTypeConstraint SocketFdPropertyInfo = (~) Int32
     type AttrBaseTypeConstraint SocketFdPropertyInfo = SocketK
     type AttrGetType SocketFdPropertyInfo = Int32
-    type AttrLabel SocketFdPropertyInfo = "Socket::fd"
+    type AttrLabel SocketFdPropertyInfo = "fd"
     attrGet _ = getSocketFd
     attrSet _ = undefined
     attrConstruct _ = constructSocketFd
@@ -532,7 +595,7 @@
     type AttrSetTypeConstraint SocketGsocketPropertyInfo = Gio.SocketK
     type AttrBaseTypeConstraint SocketGsocketPropertyInfo = SocketK
     type AttrGetType SocketGsocketPropertyInfo = ()
-    type AttrLabel SocketGsocketPropertyInfo = "Socket::gsocket"
+    type AttrLabel SocketGsocketPropertyInfo = "gsocket"
     attrGet _ = undefined
     attrSet _ = undefined
     attrConstruct _ = constructSocketGsocket
@@ -550,7 +613,7 @@
     type AttrSetTypeConstraint SocketIostreamPropertyInfo = Gio.IOStreamK
     type AttrBaseTypeConstraint SocketIostreamPropertyInfo = SocketK
     type AttrGetType SocketIostreamPropertyInfo = ()
-    type AttrLabel SocketIostreamPropertyInfo = "Socket::iostream"
+    type AttrLabel SocketIostreamPropertyInfo = "iostream"
     attrGet _ = undefined
     attrSet _ = undefined
     attrConstruct _ = constructSocketIostream
@@ -574,7 +637,7 @@
     type AttrSetTypeConstraint SocketIpv6OnlyPropertyInfo = (~) Bool
     type AttrBaseTypeConstraint SocketIpv6OnlyPropertyInfo = SocketK
     type AttrGetType SocketIpv6OnlyPropertyInfo = Bool
-    type AttrLabel SocketIpv6OnlyPropertyInfo = "Socket::ipv6-only"
+    type AttrLabel SocketIpv6OnlyPropertyInfo = "ipv6-only"
     attrGet _ = getSocketIpv6Only
     attrSet _ = setSocketIpv6Only
     attrConstruct _ = constructSocketIpv6Only
@@ -592,7 +655,7 @@
     type AttrSetTypeConstraint SocketIsServerPropertyInfo = (~) ()
     type AttrBaseTypeConstraint SocketIsServerPropertyInfo = SocketK
     type AttrGetType SocketIsServerPropertyInfo = Bool
-    type AttrLabel SocketIsServerPropertyInfo = "Socket::is-server"
+    type AttrLabel SocketIsServerPropertyInfo = "is-server"
     attrGet _ = getSocketIsServer
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -613,7 +676,7 @@
     type AttrSetTypeConstraint SocketLocalAddressPropertyInfo = AddressK
     type AttrBaseTypeConstraint SocketLocalAddressPropertyInfo = SocketK
     type AttrGetType SocketLocalAddressPropertyInfo = Address
-    type AttrLabel SocketLocalAddressPropertyInfo = "Socket::local-address"
+    type AttrLabel SocketLocalAddressPropertyInfo = "local-address"
     attrGet _ = getSocketLocalAddress
     attrSet _ = undefined
     attrConstruct _ = constructSocketLocalAddress
@@ -637,7 +700,7 @@
     type AttrSetTypeConstraint SocketNonBlockingPropertyInfo = (~) Bool
     type AttrBaseTypeConstraint SocketNonBlockingPropertyInfo = SocketK
     type AttrGetType SocketNonBlockingPropertyInfo = Bool
-    type AttrLabel SocketNonBlockingPropertyInfo = "Socket::non-blocking"
+    type AttrLabel SocketNonBlockingPropertyInfo = "non-blocking"
     attrGet _ = getSocketNonBlocking
     attrSet _ = setSocketNonBlocking
     attrConstruct _ = constructSocketNonBlocking
@@ -658,7 +721,7 @@
     type AttrSetTypeConstraint SocketRemoteAddressPropertyInfo = AddressK
     type AttrBaseTypeConstraint SocketRemoteAddressPropertyInfo = SocketK
     type AttrGetType SocketRemoteAddressPropertyInfo = Address
-    type AttrLabel SocketRemoteAddressPropertyInfo = "Socket::remote-address"
+    type AttrLabel SocketRemoteAddressPropertyInfo = "remote-address"
     attrGet _ = getSocketRemoteAddress
     attrSet _ = undefined
     attrConstruct _ = constructSocketRemoteAddress
@@ -682,7 +745,7 @@
     type AttrSetTypeConstraint SocketSslCredsPropertyInfo = (~) (Ptr ())
     type AttrBaseTypeConstraint SocketSslCredsPropertyInfo = SocketK
     type AttrGetType SocketSslCredsPropertyInfo = (Ptr ())
-    type AttrLabel SocketSslCredsPropertyInfo = "Socket::ssl-creds"
+    type AttrLabel SocketSslCredsPropertyInfo = "ssl-creds"
     attrGet _ = getSocketSslCreds
     attrSet _ = setSocketSslCreds
     attrConstruct _ = constructSocketSslCreds
@@ -703,7 +766,7 @@
     type AttrSetTypeConstraint SocketSslFallbackPropertyInfo = (~) Bool
     type AttrBaseTypeConstraint SocketSslFallbackPropertyInfo = SocketK
     type AttrGetType SocketSslFallbackPropertyInfo = Bool
-    type AttrLabel SocketSslFallbackPropertyInfo = "Socket::ssl-fallback"
+    type AttrLabel SocketSslFallbackPropertyInfo = "ssl-fallback"
     attrGet _ = getSocketSslFallback
     attrSet _ = undefined
     attrConstruct _ = constructSocketSslFallback
@@ -724,7 +787,7 @@
     type AttrSetTypeConstraint SocketSslStrictPropertyInfo = (~) Bool
     type AttrBaseTypeConstraint SocketSslStrictPropertyInfo = SocketK
     type AttrGetType SocketSslStrictPropertyInfo = Bool
-    type AttrLabel SocketSslStrictPropertyInfo = "Socket::ssl-strict"
+    type AttrLabel SocketSslStrictPropertyInfo = "ssl-strict"
     attrGet _ = getSocketSslStrict
     attrSet _ = undefined
     attrConstruct _ = constructSocketSslStrict
@@ -748,7 +811,7 @@
     type AttrSetTypeConstraint SocketTimeoutPropertyInfo = (~) Word32
     type AttrBaseTypeConstraint SocketTimeoutPropertyInfo = SocketK
     type AttrGetType SocketTimeoutPropertyInfo = Word32
-    type AttrLabel SocketTimeoutPropertyInfo = "Socket::timeout"
+    type AttrLabel SocketTimeoutPropertyInfo = "timeout"
     attrGet _ = getSocketTimeout
     attrSet _ = setSocketTimeout
     attrConstruct _ = constructSocketTimeout
@@ -766,7 +829,7 @@
     type AttrSetTypeConstraint SocketTlsCertificatePropertyInfo = (~) ()
     type AttrBaseTypeConstraint SocketTlsCertificatePropertyInfo = SocketK
     type AttrGetType SocketTlsCertificatePropertyInfo = Gio.TlsCertificate
-    type AttrLabel SocketTlsCertificatePropertyInfo = "Socket::tls-certificate"
+    type AttrLabel SocketTlsCertificatePropertyInfo = "tls-certificate"
     attrGet _ = getSocketTlsCertificate
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -784,7 +847,7 @@
     type AttrSetTypeConstraint SocketTlsErrorsPropertyInfo = (~) ()
     type AttrBaseTypeConstraint SocketTlsErrorsPropertyInfo = SocketK
     type AttrGetType SocketTlsErrorsPropertyInfo = [Gio.TlsCertificateFlags]
-    type AttrLabel SocketTlsErrorsPropertyInfo = "Socket::tls-errors"
+    type AttrLabel SocketTlsErrorsPropertyInfo = "tls-errors"
     attrGet _ = getSocketTlsErrors
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -802,7 +865,7 @@
     type AttrSetTypeConstraint SocketTrustedCertificatePropertyInfo = (~) ()
     type AttrBaseTypeConstraint SocketTrustedCertificatePropertyInfo = SocketK
     type AttrGetType SocketTrustedCertificatePropertyInfo = Bool
-    type AttrLabel SocketTrustedCertificatePropertyInfo = "Socket::trusted-certificate"
+    type AttrLabel SocketTrustedCertificatePropertyInfo = "trusted-certificate"
     attrGet _ = getSocketTrustedCertificate
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -823,13 +886,13 @@
     type AttrSetTypeConstraint SocketUseThreadContextPropertyInfo = (~) Bool
     type AttrBaseTypeConstraint SocketUseThreadContextPropertyInfo = SocketK
     type AttrGetType SocketUseThreadContextPropertyInfo = Bool
-    type AttrLabel SocketUseThreadContextPropertyInfo = "Socket::use-thread-context"
+    type AttrLabel SocketUseThreadContextPropertyInfo = "use-thread-context"
     attrGet _ = getSocketUseThreadContext
     attrSet _ = undefined
     attrConstruct _ = constructSocketUseThreadContext
 
 type instance AttributeList Socket = SocketAttributeList
-type SocketAttributeList = ('[ '("async-context", SocketAsyncContextPropertyInfo), '("fd", SocketFdPropertyInfo), '("gsocket", SocketGsocketPropertyInfo), '("iostream", SocketIostreamPropertyInfo), '("ipv6-only", SocketIpv6OnlyPropertyInfo), '("is-server", SocketIsServerPropertyInfo), '("local-address", SocketLocalAddressPropertyInfo), '("non-blocking", SocketNonBlockingPropertyInfo), '("remote-address", SocketRemoteAddressPropertyInfo), '("ssl-creds", SocketSslCredsPropertyInfo), '("ssl-fallback", SocketSslFallbackPropertyInfo), '("ssl-strict", SocketSslStrictPropertyInfo), '("timeout", SocketTimeoutPropertyInfo), '("tls-certificate", SocketTlsCertificatePropertyInfo), '("tls-errors", SocketTlsErrorsPropertyInfo), '("trusted-certificate", SocketTrustedCertificatePropertyInfo), '("use-thread-context", SocketUseThreadContextPropertyInfo)] :: [(Symbol, *)])
+type SocketAttributeList = ('[ '("asyncContext", SocketAsyncContextPropertyInfo), '("fd", SocketFdPropertyInfo), '("gsocket", SocketGsocketPropertyInfo), '("iostream", SocketIostreamPropertyInfo), '("ipv6Only", SocketIpv6OnlyPropertyInfo), '("isServer", SocketIsServerPropertyInfo), '("localAddress", SocketLocalAddressPropertyInfo), '("nonBlocking", SocketNonBlockingPropertyInfo), '("remoteAddress", SocketRemoteAddressPropertyInfo), '("sslCreds", SocketSslCredsPropertyInfo), '("sslFallback", SocketSslFallbackPropertyInfo), '("sslStrict", SocketSslStrictPropertyInfo), '("timeout", SocketTimeoutPropertyInfo), '("tlsCertificate", SocketTlsCertificatePropertyInfo), '("tlsErrors", SocketTlsErrorsPropertyInfo), '("trustedCertificate", SocketTrustedCertificatePropertyInfo), '("useThreadContext", SocketUseThreadContextPropertyInfo)] :: [(Symbol, *)])
 
 data SocketDisconnectedSignalInfo
 instance SignalInfo SocketDisconnectedSignalInfo where
@@ -857,13 +920,12 @@
     connectSignal _ = connectSocketWritable
 
 type instance SignalList Socket = SocketSignalList
-type SocketSignalList = ('[ '("disconnected", SocketDisconnectedSignalInfo), '("event", SocketEventSignalInfo), '("new-connection", SocketNewConnectionSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("readable", SocketReadableSignalInfo), '("writable", SocketWritableSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type SocketSignalList = ('[ '("disconnected", SocketDisconnectedSignalInfo), '("event", SocketEventSignalInfo), '("newConnection", SocketNewConnectionSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("readable", SocketReadableSignalInfo), '("writable", SocketWritableSignalInfo)] :: [(Symbol, *)])
 
 -- method Socket::connect_async
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "SocketCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Soup" "SocketCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_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 "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "SocketCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -878,10 +940,10 @@
 
 socketConnectAsync ::
     (MonadIO m, SocketK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    Maybe (b) ->                            -- cancellable
-    SocketCallback ->                       -- callback
-    m ()
+    a                                       -- _obj
+    -> Maybe (b)                            -- cancellable
+    -> SocketCallback                       -- callback
+    -> m ()                                 -- result
 socketConnectAsync _obj cancellable callback = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeCancellable <- case cancellable of
@@ -892,17 +954,20 @@
     ptrcallback <- callocMem :: IO (Ptr (FunPtr SocketCallbackC))
     callback' <- mkSocketCallback (socketCallbackWrapper (Just ptrcallback) callback)
     poke ptrcallback callback'
-    let user_data = nullPtr
-    soup_socket_connect_async _obj' maybeCancellable callback' user_data
+    let userData = nullPtr
+    soup_socket_connect_async _obj' maybeCancellable callback' userData
     touchManagedPtr _obj
     whenJust cancellable touchManagedPtr
     return ()
 
+data SocketConnectAsyncMethodInfo
+instance (signature ~ (Maybe (b) -> SocketCallback -> m ()), MonadIO m, SocketK a, Gio.CancellableK b) => MethodInfo SocketConnectAsyncMethodInfo a signature where
+    overloadedMethod _ = socketConnectAsync
+
 -- method Socket::connect_sync
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -915,9 +980,9 @@
 
 socketConnectSync ::
     (MonadIO m, SocketK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    Maybe (b) ->                            -- cancellable
-    m Word32
+    a                                       -- _obj
+    -> Maybe (b)                            -- cancellable
+    -> m Word32                             -- result
 socketConnectSync _obj cancellable = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeCancellable <- case cancellable of
@@ -930,11 +995,14 @@
     whenJust cancellable touchManagedPtr
     return result
 
+data SocketConnectSyncMethodInfo
+instance (signature ~ (Maybe (b) -> m Word32), MonadIO m, SocketK a, Gio.CancellableK b) => MethodInfo SocketConnectSyncMethodInfo a signature where
+    overloadedMethod _ = socketConnectSync
+
 -- method Socket::disconnect
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -946,19 +1014,22 @@
 
 socketDisconnect ::
     (MonadIO m, SocketK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 socketDisconnect _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     soup_socket_disconnect _obj'
     touchManagedPtr _obj
     return ()
 
+data SocketDisconnectMethodInfo
+instance (signature ~ (m ()), MonadIO m, SocketK a) => MethodInfo SocketDisconnectMethodInfo a signature where
+    overloadedMethod _ = socketDisconnect
+
 -- method Socket::get_fd
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -970,19 +1041,22 @@
 
 socketGetFd ::
     (MonadIO m, SocketK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 socketGetFd _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_socket_get_fd _obj'
     touchManagedPtr _obj
     return result
 
+data SocketGetFdMethodInfo
+instance (signature ~ (m Int32), MonadIO m, SocketK a) => MethodInfo SocketGetFdMethodInfo a signature where
+    overloadedMethod _ = socketGetFd
+
 -- method Socket::get_local_address
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Address"
 -- throws : False
 -- Skip return : False
@@ -994,8 +1068,8 @@
 
 socketGetLocalAddress ::
     (MonadIO m, SocketK a) =>
-    a ->                                    -- _obj
-    m Address
+    a                                       -- _obj
+    -> m Address                            -- result
 socketGetLocalAddress _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_socket_get_local_address _obj'
@@ -1004,11 +1078,14 @@
     touchManagedPtr _obj
     return result'
 
+data SocketGetLocalAddressMethodInfo
+instance (signature ~ (m Address), MonadIO m, SocketK a) => MethodInfo SocketGetLocalAddressMethodInfo a signature where
+    overloadedMethod _ = socketGetLocalAddress
+
 -- method Socket::get_remote_address
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Address"
 -- throws : False
 -- Skip return : False
@@ -1020,8 +1097,8 @@
 
 socketGetRemoteAddress ::
     (MonadIO m, SocketK a) =>
-    a ->                                    -- _obj
-    m Address
+    a                                       -- _obj
+    -> m Address                            -- result
 socketGetRemoteAddress _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_socket_get_remote_address _obj'
@@ -1030,11 +1107,14 @@
     touchManagedPtr _obj
     return result'
 
+data SocketGetRemoteAddressMethodInfo
+instance (signature ~ (m Address), MonadIO m, SocketK a) => MethodInfo SocketGetRemoteAddressMethodInfo a signature where
+    overloadedMethod _ = socketGetRemoteAddress
+
 -- method Socket::is_connected
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1046,8 +1126,8 @@
 
 socketIsConnected ::
     (MonadIO m, SocketK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 socketIsConnected _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_socket_is_connected _obj'
@@ -1055,11 +1135,14 @@
     touchManagedPtr _obj
     return result'
 
+data SocketIsConnectedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, SocketK a) => MethodInfo SocketIsConnectedMethodInfo a signature where
+    overloadedMethod _ = socketIsConnected
+
 -- method Socket::is_ssl
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1071,8 +1154,8 @@
 
 socketIsSsl ::
     (MonadIO m, SocketK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 socketIsSsl _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_socket_is_ssl _obj'
@@ -1080,11 +1163,14 @@
     touchManagedPtr _obj
     return result'
 
+data SocketIsSslMethodInfo
+instance (signature ~ (m Bool), MonadIO m, SocketK a) => MethodInfo SocketIsSslMethodInfo a signature where
+    overloadedMethod _ = socketIsSsl
+
 -- method Socket::listen
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1096,8 +1182,8 @@
 
 socketListen ::
     (MonadIO m, SocketK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 socketListen _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_socket_listen _obj'
@@ -1105,11 +1191,14 @@
     touchManagedPtr _obj
     return result'
 
+data SocketListenMethodInfo
+instance (signature ~ (m Bool), MonadIO m, SocketK a) => MethodInfo SocketListenMethodInfo a signature where
+    overloadedMethod _ = socketListen
+
 -- method Socket::read
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nread", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nread", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "SocketIOStatus"
 -- throws : True
 -- Skip return : False
@@ -1126,10 +1215,10 @@
 
 socketRead ::
     (MonadIO m, SocketK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    ByteString ->                           -- buffer
-    Maybe (b) ->                            -- cancellable
-    m (SocketIOStatus,Word64)
+    a                                       -- _obj
+    -> ByteString                           -- buffer
+    -> Maybe (b)                            -- cancellable
+    -> m (SocketIOStatus,Word64)            -- result
 socketRead _obj buffer cancellable = liftIO $ do
     let len = fromIntegral $ B.length buffer
     let _obj' = unsafeManagedPtrCastPtr _obj
@@ -1154,11 +1243,14 @@
         freeMem nread
      )
 
+data SocketReadMethodInfo
+instance (signature ~ (ByteString -> Maybe (b) -> m (SocketIOStatus,Word64)), MonadIO m, SocketK a, Gio.CancellableK b) => MethodInfo SocketReadMethodInfo a signature where
+    overloadedMethod _ = socketRead
+
 -- method Socket::read_until
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boundary", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boundary_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nread", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "got_boundary", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boundary", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boundary_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "got_boundary", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "boundary", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "boundary_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nread", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "got_boundary", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "SocketIOStatus"
 -- throws : True
 -- Skip return : False
@@ -1178,26 +1270,26 @@
 
 socketReadUntil ::
     (MonadIO m, SocketK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    ByteString ->                           -- buffer
-    Ptr () ->                               -- boundary
-    Word64 ->                               -- boundary_len
-    Bool ->                                 -- got_boundary
-    Maybe (b) ->                            -- cancellable
-    m (SocketIOStatus,Word64)
-socketReadUntil _obj buffer boundary boundary_len got_boundary cancellable = liftIO $ do
+    a                                       -- _obj
+    -> ByteString                           -- buffer
+    -> Ptr ()                               -- boundary
+    -> Word64                               -- boundaryLen
+    -> Bool                                 -- gotBoundary
+    -> Maybe (b)                            -- cancellable
+    -> m (SocketIOStatus,Word64)            -- result
+socketReadUntil _obj buffer boundary boundaryLen gotBoundary cancellable = liftIO $ do
     let len = fromIntegral $ B.length buffer
     let _obj' = unsafeManagedPtrCastPtr _obj
     buffer' <- packByteString buffer
     nread <- allocMem :: IO (Ptr Word64)
-    let got_boundary' = (fromIntegral . fromEnum) got_boundary
+    let gotBoundary' = (fromIntegral . fromEnum) gotBoundary
     maybeCancellable <- case cancellable of
         Nothing -> return nullPtr
         Just jCancellable -> do
             let jCancellable' = unsafeManagedPtrCastPtr jCancellable
             return jCancellable'
     onException (do
-        result <- propagateGError $ soup_socket_read_until _obj' buffer' len boundary boundary_len nread got_boundary' maybeCancellable
+        result <- propagateGError $ soup_socket_read_until _obj' buffer' len boundary boundaryLen nread gotBoundary' maybeCancellable
         let result' = (toEnum . fromIntegral) result
         nread' <- peek nread
         touchManagedPtr _obj
@@ -1210,11 +1302,14 @@
         freeMem nread
      )
 
+data SocketReadUntilMethodInfo
+instance (signature ~ (ByteString -> Ptr () -> Word64 -> Bool -> Maybe (b) -> m (SocketIOStatus,Word64)), MonadIO m, SocketK a, Gio.CancellableK b) => MethodInfo SocketReadUntilMethodInfo a signature where
+    overloadedMethod _ = socketReadUntil
+
 -- method Socket::start_proxy_ssl
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ssl_host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ssl_host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ssl_host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1228,30 +1323,33 @@
 
 socketStartProxySsl ::
     (MonadIO m, SocketK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- ssl_host
-    Maybe (b) ->                            -- cancellable
-    m Bool
-socketStartProxySsl _obj ssl_host cancellable = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- sslHost
+    -> Maybe (b)                            -- cancellable
+    -> m Bool                               -- result
+socketStartProxySsl _obj sslHost cancellable = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    ssl_host' <- textToCString ssl_host
+    sslHost' <- textToCString sslHost
     maybeCancellable <- case cancellable of
         Nothing -> return nullPtr
         Just jCancellable -> do
             let jCancellable' = unsafeManagedPtrCastPtr jCancellable
             return jCancellable'
-    result <- soup_socket_start_proxy_ssl _obj' ssl_host' maybeCancellable
+    result <- soup_socket_start_proxy_ssl _obj' sslHost' maybeCancellable
     let result' = (/= 0) result
     touchManagedPtr _obj
     whenJust cancellable touchManagedPtr
-    freeMem ssl_host'
+    freeMem sslHost'
     return result'
 
+data SocketStartProxySslMethodInfo
+instance (signature ~ (T.Text -> Maybe (b) -> m Bool), MonadIO m, SocketK a, Gio.CancellableK b) => MethodInfo SocketStartProxySslMethodInfo a signature where
+    overloadedMethod _ = socketStartProxySsl
+
 -- method Socket::start_ssl
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1264,9 +1362,9 @@
 
 socketStartSsl ::
     (MonadIO m, SocketK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    Maybe (b) ->                            -- cancellable
-    m Bool
+    a                                       -- _obj
+    -> Maybe (b)                            -- cancellable
+    -> m Bool                               -- result
 socketStartSsl _obj cancellable = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeCancellable <- case cancellable of
@@ -1280,11 +1378,14 @@
     whenJust cancellable touchManagedPtr
     return result'
 
+data SocketStartSslMethodInfo
+instance (signature ~ (Maybe (b) -> m Bool), MonadIO m, SocketK a, Gio.CancellableK b) => MethodInfo SocketStartSslMethodInfo a signature where
+    overloadedMethod _ = socketStartSsl
+
 -- method Socket::write
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nwrote", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nwrote", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "SocketIOStatus"
 -- throws : True
 -- Skip return : False
@@ -1301,10 +1402,10 @@
 
 socketWrite ::
     (MonadIO m, SocketK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    ByteString ->                           -- buffer
-    Maybe (b) ->                            -- cancellable
-    m (SocketIOStatus,Word64)
+    a                                       -- _obj
+    -> ByteString                           -- buffer
+    -> Maybe (b)                            -- cancellable
+    -> m (SocketIOStatus,Word64)            -- result
 socketWrite _obj buffer cancellable = liftIO $ do
     let len = fromIntegral $ B.length buffer
     let _obj' = unsafeManagedPtrCastPtr _obj
@@ -1328,5 +1429,9 @@
         freeMem buffer'
         freeMem nwrote
      )
+
+data SocketWriteMethodInfo
+instance (signature ~ (ByteString -> Maybe (b) -> m (SocketIOStatus,Word64)), MonadIO m, SocketK a, Gio.CancellableK b) => MethodInfo SocketWriteMethodInfo a signature where
+    overloadedMethod _ = socketWrite
 
 
diff --git a/GI/Soup/Objects/Socket.hs-boot b/GI/Soup/Objects/Socket.hs-boot
--- a/GI/Soup/Objects/Socket.hs-boot
+++ b/GI/Soup/Objects/Socket.hs-boot
@@ -33,3 +33,17 @@
 data SocketNewConnectionSignalInfo
 data SocketReadableSignalInfo
 data SocketWritableSignalInfo
+data SocketConnectAsyncMethodInfo
+data SocketConnectSyncMethodInfo
+data SocketDisconnectMethodInfo
+data SocketGetFdMethodInfo
+data SocketGetLocalAddressMethodInfo
+data SocketGetRemoteAddressMethodInfo
+data SocketIsConnectedMethodInfo
+data SocketIsSslMethodInfo
+data SocketListenMethodInfo
+data SocketReadMethodInfo
+data SocketReadUntilMethodInfo
+data SocketStartProxySslMethodInfo
+data SocketStartSslMethodInfo
+data SocketWriteMethodInfo
diff --git a/GI/Soup/Objects/WebsocketConnection.hs b/GI/Soup/Objects/WebsocketConnection.hs
--- a/GI/Soup/Objects/WebsocketConnection.hs
+++ b/GI/Soup/Objects/WebsocketConnection.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,38 +18,47 @@
 
  -- * Methods
 -- ** websocketConnectionClose
+    WebsocketConnectionCloseMethodInfo      ,
     websocketConnectionClose                ,
 
 
 -- ** websocketConnectionGetCloseCode
+    WebsocketConnectionGetCloseCodeMethodInfo,
     websocketConnectionGetCloseCode         ,
 
 
 -- ** websocketConnectionGetCloseData
+    WebsocketConnectionGetCloseDataMethodInfo,
     websocketConnectionGetCloseData         ,
 
 
 -- ** websocketConnectionGetConnectionType
+    WebsocketConnectionGetConnectionTypeMethodInfo,
     websocketConnectionGetConnectionType    ,
 
 
 -- ** websocketConnectionGetIoStream
+    WebsocketConnectionGetIoStreamMethodInfo,
     websocketConnectionGetIoStream          ,
 
 
 -- ** websocketConnectionGetOrigin
+    WebsocketConnectionGetOriginMethodInfo  ,
     websocketConnectionGetOrigin            ,
 
 
 -- ** websocketConnectionGetProtocol
+    WebsocketConnectionGetProtocolMethodInfo,
     websocketConnectionGetProtocol          ,
 
 
 -- ** websocketConnectionGetState
+    WebsocketConnectionGetStateMethodInfo   ,
     websocketConnectionGetState             ,
 
 
 -- ** websocketConnectionGetUri
+    WebsocketConnectionGetUriMethodInfo     ,
     websocketConnectionGetUri               ,
 
 
@@ -57,10 +67,12 @@
 
 
 -- ** websocketConnectionSendBinary
+    WebsocketConnectionSendBinaryMethodInfo ,
     websocketConnectionSendBinary           ,
 
 
 -- ** websocketConnectionSendText
+    WebsocketConnectionSendTextMethodInfo   ,
     websocketConnectionSendText             ,
 
 
@@ -191,6 +203,50 @@
 noWebsocketConnection :: Maybe WebsocketConnection
 noWebsocketConnection = Nothing
 
+type family ResolveWebsocketConnectionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveWebsocketConnectionMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveWebsocketConnectionMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveWebsocketConnectionMethod "close" o = WebsocketConnectionCloseMethodInfo
+    ResolveWebsocketConnectionMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveWebsocketConnectionMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveWebsocketConnectionMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveWebsocketConnectionMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveWebsocketConnectionMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveWebsocketConnectionMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveWebsocketConnectionMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveWebsocketConnectionMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveWebsocketConnectionMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveWebsocketConnectionMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveWebsocketConnectionMethod "sendBinary" o = WebsocketConnectionSendBinaryMethodInfo
+    ResolveWebsocketConnectionMethod "sendText" o = WebsocketConnectionSendTextMethodInfo
+    ResolveWebsocketConnectionMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveWebsocketConnectionMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveWebsocketConnectionMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveWebsocketConnectionMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveWebsocketConnectionMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveWebsocketConnectionMethod "getCloseCode" o = WebsocketConnectionGetCloseCodeMethodInfo
+    ResolveWebsocketConnectionMethod "getCloseData" o = WebsocketConnectionGetCloseDataMethodInfo
+    ResolveWebsocketConnectionMethod "getConnectionType" o = WebsocketConnectionGetConnectionTypeMethodInfo
+    ResolveWebsocketConnectionMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveWebsocketConnectionMethod "getIoStream" o = WebsocketConnectionGetIoStreamMethodInfo
+    ResolveWebsocketConnectionMethod "getOrigin" o = WebsocketConnectionGetOriginMethodInfo
+    ResolveWebsocketConnectionMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveWebsocketConnectionMethod "getProtocol" o = WebsocketConnectionGetProtocolMethodInfo
+    ResolveWebsocketConnectionMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveWebsocketConnectionMethod "getState" o = WebsocketConnectionGetStateMethodInfo
+    ResolveWebsocketConnectionMethod "getUri" o = WebsocketConnectionGetUriMethodInfo
+    ResolveWebsocketConnectionMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveWebsocketConnectionMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveWebsocketConnectionMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveWebsocketConnectionMethod t WebsocketConnection, MethodInfo info WebsocketConnection p) => IsLabelProxy t (WebsocketConnection -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveWebsocketConnectionMethod t WebsocketConnection, MethodInfo info WebsocketConnection p) => IsLabel t (WebsocketConnection -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal WebsocketConnection::closed
 type WebsocketConnectionClosedCallback =
     IO ()
@@ -370,7 +426,7 @@
     type AttrSetTypeConstraint WebsocketConnectionConnectionTypePropertyInfo = (~) WebsocketConnectionType
     type AttrBaseTypeConstraint WebsocketConnectionConnectionTypePropertyInfo = WebsocketConnectionK
     type AttrGetType WebsocketConnectionConnectionTypePropertyInfo = WebsocketConnectionType
-    type AttrLabel WebsocketConnectionConnectionTypePropertyInfo = "WebsocketConnection::connection-type"
+    type AttrLabel WebsocketConnectionConnectionTypePropertyInfo = "connection-type"
     attrGet _ = getWebsocketConnectionConnectionType
     attrSet _ = undefined
     attrConstruct _ = constructWebsocketConnectionConnectionType
@@ -391,7 +447,7 @@
     type AttrSetTypeConstraint WebsocketConnectionIoStreamPropertyInfo = Gio.IOStreamK
     type AttrBaseTypeConstraint WebsocketConnectionIoStreamPropertyInfo = WebsocketConnectionK
     type AttrGetType WebsocketConnectionIoStreamPropertyInfo = Gio.IOStream
-    type AttrLabel WebsocketConnectionIoStreamPropertyInfo = "WebsocketConnection::io-stream"
+    type AttrLabel WebsocketConnectionIoStreamPropertyInfo = "io-stream"
     attrGet _ = getWebsocketConnectionIoStream
     attrSet _ = undefined
     attrConstruct _ = constructWebsocketConnectionIoStream
@@ -412,7 +468,7 @@
     type AttrSetTypeConstraint WebsocketConnectionOriginPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint WebsocketConnectionOriginPropertyInfo = WebsocketConnectionK
     type AttrGetType WebsocketConnectionOriginPropertyInfo = T.Text
-    type AttrLabel WebsocketConnectionOriginPropertyInfo = "WebsocketConnection::origin"
+    type AttrLabel WebsocketConnectionOriginPropertyInfo = "origin"
     attrGet _ = getWebsocketConnectionOrigin
     attrSet _ = undefined
     attrConstruct _ = constructWebsocketConnectionOrigin
@@ -433,7 +489,7 @@
     type AttrSetTypeConstraint WebsocketConnectionProtocolPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint WebsocketConnectionProtocolPropertyInfo = WebsocketConnectionK
     type AttrGetType WebsocketConnectionProtocolPropertyInfo = T.Text
-    type AttrLabel WebsocketConnectionProtocolPropertyInfo = "WebsocketConnection::protocol"
+    type AttrLabel WebsocketConnectionProtocolPropertyInfo = "protocol"
     attrGet _ = getWebsocketConnectionProtocol
     attrSet _ = undefined
     attrConstruct _ = constructWebsocketConnectionProtocol
@@ -451,7 +507,7 @@
     type AttrSetTypeConstraint WebsocketConnectionStatePropertyInfo = (~) ()
     type AttrBaseTypeConstraint WebsocketConnectionStatePropertyInfo = WebsocketConnectionK
     type AttrGetType WebsocketConnectionStatePropertyInfo = WebsocketState
-    type AttrLabel WebsocketConnectionStatePropertyInfo = "WebsocketConnection::state"
+    type AttrLabel WebsocketConnectionStatePropertyInfo = "state"
     attrGet _ = getWebsocketConnectionState
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -472,13 +528,13 @@
     type AttrSetTypeConstraint WebsocketConnectionUriPropertyInfo = (~) URI
     type AttrBaseTypeConstraint WebsocketConnectionUriPropertyInfo = WebsocketConnectionK
     type AttrGetType WebsocketConnectionUriPropertyInfo = URI
-    type AttrLabel WebsocketConnectionUriPropertyInfo = "WebsocketConnection::uri"
+    type AttrLabel WebsocketConnectionUriPropertyInfo = "uri"
     attrGet _ = getWebsocketConnectionUri
     attrSet _ = undefined
     attrConstruct _ = constructWebsocketConnectionUri
 
 type instance AttributeList WebsocketConnection = WebsocketConnectionAttributeList
-type WebsocketConnectionAttributeList = ('[ '("connection-type", WebsocketConnectionConnectionTypePropertyInfo), '("io-stream", WebsocketConnectionIoStreamPropertyInfo), '("origin", WebsocketConnectionOriginPropertyInfo), '("protocol", WebsocketConnectionProtocolPropertyInfo), '("state", WebsocketConnectionStatePropertyInfo), '("uri", WebsocketConnectionUriPropertyInfo)] :: [(Symbol, *)])
+type WebsocketConnectionAttributeList = ('[ '("connectionType", WebsocketConnectionConnectionTypePropertyInfo), '("ioStream", WebsocketConnectionIoStreamPropertyInfo), '("origin", WebsocketConnectionOriginPropertyInfo), '("protocol", WebsocketConnectionProtocolPropertyInfo), '("state", WebsocketConnectionStatePropertyInfo), '("uri", WebsocketConnectionUriPropertyInfo)] :: [(Symbol, *)])
 
 data WebsocketConnectionClosedSignalInfo
 instance SignalInfo WebsocketConnectionClosedSignalInfo where
@@ -501,13 +557,12 @@
     connectSignal _ = connectWebsocketConnectionMessage
 
 type instance SignalList WebsocketConnection = WebsocketConnectionSignalList
-type WebsocketConnectionSignalList = ('[ '("closed", WebsocketConnectionClosedSignalInfo), '("closing", WebsocketConnectionClosingSignalInfo), '("error", WebsocketConnectionErrorSignalInfo), '("message", WebsocketConnectionMessageSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type WebsocketConnectionSignalList = ('[ '("closed", WebsocketConnectionClosedSignalInfo), '("closing", WebsocketConnectionClosingSignalInfo), '("error", WebsocketConnectionErrorSignalInfo), '("message", WebsocketConnectionMessageSignalInfo), '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method WebsocketConnection::new
 -- method type : Constructor
--- Args : [Arg {argName = "stream", argType = TInterface "Gio" "IOStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Soup" "WebsocketConnectionType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocol", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "stream", argType = TInterface "Gio" "IOStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface "Soup" "WebsocketConnectionType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "protocol", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "stream", argType = TInterface "Gio" "IOStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Soup" "WebsocketConnectionType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocol", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "WebsocketConnection"
 -- throws : False
 -- Skip return : False
@@ -523,12 +578,12 @@
 
 websocketConnectionNew ::
     (MonadIO m, Gio.IOStreamK a) =>
-    a ->                                    -- stream
-    URI ->                                  -- uri
-    WebsocketConnectionType ->              -- type
-    Maybe (T.Text) ->                       -- origin
-    Maybe (T.Text) ->                       -- protocol
-    m WebsocketConnection
+    a                                       -- stream
+    -> URI                                  -- uri
+    -> WebsocketConnectionType              -- type_
+    -> Maybe (T.Text)                       -- origin
+    -> Maybe (T.Text)                       -- protocol
+    -> m WebsocketConnection                -- result
 websocketConnectionNew stream uri type_ origin protocol = liftIO $ do
     let stream' = unsafeManagedPtrCastPtr stream
     let uri' = unsafeManagedPtrGetPtr uri
@@ -554,9 +609,8 @@
 
 -- method WebsocketConnection::close
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "code", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "code", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "code", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -570,10 +624,10 @@
 
 websocketConnectionClose ::
     (MonadIO m, WebsocketConnectionK a) =>
-    a ->                                    -- _obj
-    Word16 ->                               -- code
-    Maybe (T.Text) ->                       -- data
-    m ()
+    a                                       -- _obj
+    -> Word16                               -- code
+    -> Maybe (T.Text)                       -- data_
+    -> m ()                                 -- result
 websocketConnectionClose _obj code data_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeData_ <- case data_ of
@@ -586,11 +640,14 @@
     freeMem maybeData_
     return ()
 
+data WebsocketConnectionCloseMethodInfo
+instance (signature ~ (Word16 -> Maybe (T.Text) -> m ()), MonadIO m, WebsocketConnectionK a) => MethodInfo WebsocketConnectionCloseMethodInfo a signature where
+    overloadedMethod _ = websocketConnectionClose
+
 -- method WebsocketConnection::get_close_code
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt16
 -- throws : False
 -- Skip return : False
@@ -602,19 +659,22 @@
 
 websocketConnectionGetCloseCode ::
     (MonadIO m, WebsocketConnectionK a) =>
-    a ->                                    -- _obj
-    m Word16
+    a                                       -- _obj
+    -> m Word16                             -- result
 websocketConnectionGetCloseCode _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_websocket_connection_get_close_code _obj'
     touchManagedPtr _obj
     return result
 
+data WebsocketConnectionGetCloseCodeMethodInfo
+instance (signature ~ (m Word16), MonadIO m, WebsocketConnectionK a) => MethodInfo WebsocketConnectionGetCloseCodeMethodInfo a signature where
+    overloadedMethod _ = websocketConnectionGetCloseCode
+
 -- method WebsocketConnection::get_close_data
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -626,8 +686,8 @@
 
 websocketConnectionGetCloseData ::
     (MonadIO m, WebsocketConnectionK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 websocketConnectionGetCloseData _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_websocket_connection_get_close_data _obj'
@@ -636,11 +696,14 @@
     touchManagedPtr _obj
     return result'
 
+data WebsocketConnectionGetCloseDataMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, WebsocketConnectionK a) => MethodInfo WebsocketConnectionGetCloseDataMethodInfo a signature where
+    overloadedMethod _ = websocketConnectionGetCloseData
+
 -- method WebsocketConnection::get_connection_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "WebsocketConnectionType"
 -- throws : False
 -- Skip return : False
@@ -652,8 +715,8 @@
 
 websocketConnectionGetConnectionType ::
     (MonadIO m, WebsocketConnectionK a) =>
-    a ->                                    -- _obj
-    m WebsocketConnectionType
+    a                                       -- _obj
+    -> m WebsocketConnectionType            -- result
 websocketConnectionGetConnectionType _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_websocket_connection_get_connection_type _obj'
@@ -661,11 +724,14 @@
     touchManagedPtr _obj
     return result'
 
+data WebsocketConnectionGetConnectionTypeMethodInfo
+instance (signature ~ (m WebsocketConnectionType), MonadIO m, WebsocketConnectionK a) => MethodInfo WebsocketConnectionGetConnectionTypeMethodInfo a signature where
+    overloadedMethod _ = websocketConnectionGetConnectionType
+
 -- method WebsocketConnection::get_io_stream
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Gio" "IOStream"
 -- throws : False
 -- Skip return : False
@@ -677,8 +743,8 @@
 
 websocketConnectionGetIoStream ::
     (MonadIO m, WebsocketConnectionK a) =>
-    a ->                                    -- _obj
-    m Gio.IOStream
+    a                                       -- _obj
+    -> m Gio.IOStream                       -- result
 websocketConnectionGetIoStream _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_websocket_connection_get_io_stream _obj'
@@ -687,11 +753,14 @@
     touchManagedPtr _obj
     return result'
 
+data WebsocketConnectionGetIoStreamMethodInfo
+instance (signature ~ (m Gio.IOStream), MonadIO m, WebsocketConnectionK a) => MethodInfo WebsocketConnectionGetIoStreamMethodInfo a signature where
+    overloadedMethod _ = websocketConnectionGetIoStream
+
 -- method WebsocketConnection::get_origin
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -703,8 +772,8 @@
 
 websocketConnectionGetOrigin ::
     (MonadIO m, WebsocketConnectionK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 websocketConnectionGetOrigin _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_websocket_connection_get_origin _obj'
@@ -713,11 +782,14 @@
     touchManagedPtr _obj
     return result'
 
+data WebsocketConnectionGetOriginMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, WebsocketConnectionK a) => MethodInfo WebsocketConnectionGetOriginMethodInfo a signature where
+    overloadedMethod _ = websocketConnectionGetOrigin
+
 -- method WebsocketConnection::get_protocol
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -729,8 +801,8 @@
 
 websocketConnectionGetProtocol ::
     (MonadIO m, WebsocketConnectionK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 websocketConnectionGetProtocol _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_websocket_connection_get_protocol _obj'
@@ -739,11 +811,14 @@
     touchManagedPtr _obj
     return result'
 
+data WebsocketConnectionGetProtocolMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, WebsocketConnectionK a) => MethodInfo WebsocketConnectionGetProtocolMethodInfo a signature where
+    overloadedMethod _ = websocketConnectionGetProtocol
+
 -- method WebsocketConnection::get_state
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "WebsocketState"
 -- throws : False
 -- Skip return : False
@@ -755,8 +830,8 @@
 
 websocketConnectionGetState ::
     (MonadIO m, WebsocketConnectionK a) =>
-    a ->                                    -- _obj
-    m WebsocketState
+    a                                       -- _obj
+    -> m WebsocketState                     -- result
 websocketConnectionGetState _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_websocket_connection_get_state _obj'
@@ -764,11 +839,14 @@
     touchManagedPtr _obj
     return result'
 
+data WebsocketConnectionGetStateMethodInfo
+instance (signature ~ (m WebsocketState), MonadIO m, WebsocketConnectionK a) => MethodInfo WebsocketConnectionGetStateMethodInfo a signature where
+    overloadedMethod _ = websocketConnectionGetState
+
 -- method WebsocketConnection::get_uri
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "URI"
 -- throws : False
 -- Skip return : False
@@ -780,8 +858,8 @@
 
 websocketConnectionGetUri ::
     (MonadIO m, WebsocketConnectionK a) =>
-    a ->                                    -- _obj
-    m URI
+    a                                       -- _obj
+    -> m URI                                -- result
 websocketConnectionGetUri _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- soup_websocket_connection_get_uri _obj'
@@ -790,11 +868,14 @@
     touchManagedPtr _obj
     return result'
 
+data WebsocketConnectionGetUriMethodInfo
+instance (signature ~ (m URI), MonadIO m, WebsocketConnectionK a) => MethodInfo WebsocketConnectionGetUriMethodInfo a signature where
+    overloadedMethod _ = websocketConnectionGetUri
+
 -- method WebsocketConnection::send_binary
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -808,9 +889,9 @@
 
 websocketConnectionSendBinary ::
     (MonadIO m, WebsocketConnectionK a) =>
-    a ->                                    -- _obj
-    ByteString ->                           -- data
-    m ()
+    a                                       -- _obj
+    -> ByteString                           -- data_
+    -> m ()                                 -- result
 websocketConnectionSendBinary _obj data_ = liftIO $ do
     let length_ = fromIntegral $ B.length data_
     let _obj' = unsafeManagedPtrCastPtr _obj
@@ -820,11 +901,14 @@
     freeMem data_'
     return ()
 
+data WebsocketConnectionSendBinaryMethodInfo
+instance (signature ~ (ByteString -> m ()), MonadIO m, WebsocketConnectionK a) => MethodInfo WebsocketConnectionSendBinaryMethodInfo a signature where
+    overloadedMethod _ = websocketConnectionSendBinary
+
 -- method WebsocketConnection::send_text
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", 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 "Soup" "WebsocketConnection", 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 "Soup" "WebsocketConnection", 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 TVoid
 -- throws : False
 -- Skip return : False
@@ -837,9 +921,9 @@
 
 websocketConnectionSendText ::
     (MonadIO m, WebsocketConnectionK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- text
-    m ()
+    a                                       -- _obj
+    -> T.Text                               -- text
+    -> m ()                                 -- result
 websocketConnectionSendText _obj text = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     text' <- textToCString text
@@ -847,5 +931,9 @@
     touchManagedPtr _obj
     freeMem text'
     return ()
+
+data WebsocketConnectionSendTextMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, WebsocketConnectionK a) => MethodInfo WebsocketConnectionSendTextMethodInfo a signature where
+    overloadedMethod _ = websocketConnectionSendText
 
 
diff --git a/GI/Soup/Objects/WebsocketConnection.hs-boot b/GI/Soup/Objects/WebsocketConnection.hs-boot
--- a/GI/Soup/Objects/WebsocketConnection.hs-boot
+++ b/GI/Soup/Objects/WebsocketConnection.hs-boot
@@ -21,3 +21,14 @@
 data WebsocketConnectionClosingSignalInfo
 data WebsocketConnectionErrorSignalInfo
 data WebsocketConnectionMessageSignalInfo
+data WebsocketConnectionCloseMethodInfo
+data WebsocketConnectionGetCloseCodeMethodInfo
+data WebsocketConnectionGetCloseDataMethodInfo
+data WebsocketConnectionGetConnectionTypeMethodInfo
+data WebsocketConnectionGetIoStreamMethodInfo
+data WebsocketConnectionGetOriginMethodInfo
+data WebsocketConnectionGetProtocolMethodInfo
+data WebsocketConnectionGetStateMethodInfo
+data WebsocketConnectionGetUriMethodInfo
+data WebsocketConnectionSendBinaryMethodInfo
+data WebsocketConnectionSendTextMethodInfo
diff --git a/GI/Soup/Structs.hs b/GI/Soup/Structs.hs
--- a/GI/Soup/Structs.hs
+++ b/GI/Soup/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/Soup/Structs/Buffer.hs b/GI/Soup/Structs/Buffer.hs
--- a/GI/Soup/Structs/Buffer.hs
+++ b/GI/Soup/Structs/Buffer.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,27 +17,33 @@
 
 -- * Exported types
     Buffer(..)                              ,
+    newZeroBuffer                           ,
     noBuffer                                ,
 
 
  -- * Methods
 -- ** bufferCopy
+    BufferCopyMethodInfo                    ,
     bufferCopy                              ,
 
 
 -- ** bufferFree
+    BufferFreeMethodInfo                    ,
     bufferFree                              ,
 
 
 -- ** bufferGetAsBytes
+    BufferGetAsBytesMethodInfo              ,
     bufferGetAsBytes                        ,
 
 
 -- ** bufferGetData
+    BufferGetDataMethodInfo                 ,
     bufferGetData                           ,
 
 
 -- ** bufferGetOwner
+    BufferGetOwnerMethodInfo                ,
     bufferGetOwner                          ,
 
 
@@ -45,6 +52,7 @@
 
 
 -- ** bufferNewSubbuffer
+    BufferNewSubbufferMethodInfo            ,
     bufferNewSubbuffer                      ,
 
 
@@ -85,6 +93,10 @@
 instance BoxedObject Buffer where
     boxedType _ = c_soup_buffer_get_type
 
+-- | Construct a `Buffer` struct initialized to zero.
+newZeroBuffer :: MonadIO m => m Buffer
+newZeroBuffer = liftIO $ callocBoxedBytes 16 >>= wrapBoxed Buffer
+
 noBuffer :: Maybe Buffer
 noBuffer = Nothing
 
@@ -100,9 +112,8 @@
 
 -- method Buffer::new
 -- method type : Constructor
--- Args : [Arg {argName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Buffer"
 -- throws : False
 -- Skip return : False
@@ -115,8 +126,8 @@
 
 bufferNew ::
     (MonadIO m) =>
-    ByteString ->                           -- data
-    m Buffer
+    ByteString                              -- data_
+    -> m Buffer                             -- result
 bufferNew data_ = liftIO $ do
     let length_ = fromIntegral $ B.length data_
     data_' <- packByteString data_
@@ -127,9 +138,8 @@
 
 -- method Buffer::new_with_owner
 -- method type : Constructor
--- Args : [Arg {argName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner_dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Buffer"
 -- throws : False
 -- Skip return : False
@@ -144,21 +154,21 @@
 
 bufferNewWithOwner ::
     (MonadIO m) =>
-    ByteString ->                           -- data
-    Ptr () ->                               -- owner
-    Maybe (GLib.DestroyNotify) ->           -- owner_dnotify
-    m Buffer
-bufferNewWithOwner data_ owner owner_dnotify = liftIO $ do
+    ByteString                              -- data_
+    -> Ptr ()                               -- owner
+    -> Maybe (GLib.DestroyNotify)           -- ownerDnotify
+    -> m Buffer                             -- result
+bufferNewWithOwner data_ owner ownerDnotify = liftIO $ do
     let length_ = fromIntegral $ B.length data_
     data_' <- packByteString data_
-    ptrowner_dnotify <- callocMem :: IO (Ptr (FunPtr GLib.DestroyNotifyC))
-    maybeOwner_dnotify <- case owner_dnotify of
+    ptrownerDnotify <- callocMem :: IO (Ptr (FunPtr GLib.DestroyNotifyC))
+    maybeOwnerDnotify <- case ownerDnotify of
         Nothing -> return (castPtrToFunPtr nullPtr)
-        Just jOwner_dnotify -> do
-            jOwner_dnotify' <- GLib.mkDestroyNotify (GLib.destroyNotifyWrapper (Just ptrowner_dnotify) jOwner_dnotify)
-            poke ptrowner_dnotify jOwner_dnotify'
-            return jOwner_dnotify'
-    result <- soup_buffer_new_with_owner data_' length_ owner maybeOwner_dnotify
+        Just jOwnerDnotify -> do
+            jOwnerDnotify' <- GLib.mkDestroyNotify (GLib.destroyNotifyWrapper (Just ptrownerDnotify) jOwnerDnotify)
+            poke ptrownerDnotify jOwnerDnotify'
+            return jOwnerDnotify'
+    result <- soup_buffer_new_with_owner data_' length_ owner maybeOwnerDnotify
     checkUnexpectedReturnNULL "soup_buffer_new_with_owner" result
     result' <- (wrapBoxed Buffer) result
     freeMem data_'
@@ -166,9 +176,8 @@
 
 -- method Buffer::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Buffer"
 -- throws : False
 -- Skip return : False
@@ -180,8 +189,8 @@
 
 bufferCopy ::
     (MonadIO m) =>
-    Buffer ->                               -- _obj
-    m Buffer
+    Buffer                                  -- _obj
+    -> m Buffer                             -- result
 bufferCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_buffer_copy _obj'
@@ -190,11 +199,14 @@
     touchManagedPtr _obj
     return result'
 
+data BufferCopyMethodInfo
+instance (signature ~ (m Buffer), MonadIO m) => MethodInfo BufferCopyMethodInfo Buffer signature where
+    overloadedMethod _ = bufferCopy
+
 -- method Buffer::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -206,19 +218,22 @@
 
 bufferFree ::
     (MonadIO m) =>
-    Buffer ->                               -- _obj
-    m ()
+    Buffer                                  -- _obj
+    -> m ()                                 -- result
 bufferFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     soup_buffer_free _obj'
     touchManagedPtr _obj
     return ()
 
+data BufferFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo BufferFreeMethodInfo Buffer signature where
+    overloadedMethod _ = bufferFree
+
 -- method Buffer::get_as_bytes
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "GLib" "Bytes"
 -- throws : False
 -- Skip return : False
@@ -230,8 +245,8 @@
 
 bufferGetAsBytes ::
     (MonadIO m) =>
-    Buffer ->                               -- _obj
-    m GLib.Bytes
+    Buffer                                  -- _obj
+    -> m GLib.Bytes                         -- result
 bufferGetAsBytes _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_buffer_get_as_bytes _obj'
@@ -240,11 +255,14 @@
     touchManagedPtr _obj
     return result'
 
+data BufferGetAsBytesMethodInfo
+instance (signature ~ (m GLib.Bytes), MonadIO m) => MethodInfo BufferGetAsBytesMethodInfo Buffer signature where
+    overloadedMethod _ = bufferGetAsBytes
+
 -- method Buffer::get_data
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -258,8 +276,8 @@
 
 bufferGetData ::
     (MonadIO m) =>
-    Buffer ->                               -- _obj
-    m (ByteString)
+    Buffer                                  -- _obj
+    -> m (ByteString)                       -- result
 bufferGetData _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     data_ <- allocMem :: IO (Ptr (Ptr Word8))
@@ -273,11 +291,14 @@
     freeMem length_
     return data_''
 
+data BufferGetDataMethodInfo
+instance (signature ~ (m (ByteString)), MonadIO m) => MethodInfo BufferGetDataMethodInfo Buffer signature where
+    overloadedMethod _ = bufferGetData
+
 -- method Buffer::get_owner
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -289,19 +310,22 @@
 
 bufferGetOwner ::
     (MonadIO m) =>
-    Buffer ->                               -- _obj
-    m ()
+    Buffer                                  -- _obj
+    -> m ()                                 -- result
 bufferGetOwner _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     soup_buffer_get_owner _obj'
     touchManagedPtr _obj
     return ()
 
+data BufferGetOwnerMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo BufferGetOwnerMethodInfo Buffer signature where
+    overloadedMethod _ = bufferGetOwner
+
 -- method Buffer::new_subbuffer
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Buffer"
 -- throws : False
 -- Skip return : False
@@ -315,10 +339,10 @@
 
 bufferNewSubbuffer ::
     (MonadIO m) =>
-    Buffer ->                               -- _obj
-    Word64 ->                               -- offset
-    Word64 ->                               -- length
-    m Buffer
+    Buffer                                  -- _obj
+    -> Word64                               -- offset
+    -> Word64                               -- length_
+    -> m Buffer                             -- result
 bufferNewSubbuffer _obj offset length_ = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_buffer_new_subbuffer _obj' offset length_
@@ -326,5 +350,26 @@
     result' <- (wrapBoxed Buffer) result
     touchManagedPtr _obj
     return result'
+
+data BufferNewSubbufferMethodInfo
+instance (signature ~ (Word64 -> Word64 -> m Buffer), MonadIO m) => MethodInfo BufferNewSubbufferMethodInfo Buffer signature where
+    overloadedMethod _ = bufferNewSubbuffer
+
+type family ResolveBufferMethod (t :: Symbol) (o :: *) :: * where
+    ResolveBufferMethod "copy" o = BufferCopyMethodInfo
+    ResolveBufferMethod "free" o = BufferFreeMethodInfo
+    ResolveBufferMethod "newSubbuffer" o = BufferNewSubbufferMethodInfo
+    ResolveBufferMethod "getAsBytes" o = BufferGetAsBytesMethodInfo
+    ResolveBufferMethod "getData" o = BufferGetDataMethodInfo
+    ResolveBufferMethod "getOwner" o = BufferGetOwnerMethodInfo
+    ResolveBufferMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveBufferMethod t Buffer, MethodInfo info Buffer p) => IsLabelProxy t (Buffer -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveBufferMethod t Buffer, MethodInfo info Buffer p) => IsLabel t (Buffer -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Soup/Structs/Buffer.hs-boot b/GI/Soup/Structs/Buffer.hs-boot
--- a/GI/Soup/Structs/Buffer.hs-boot
+++ b/GI/Soup/Structs/Buffer.hs-boot
@@ -9,3 +9,9 @@
 
 newtype Buffer = Buffer (ForeignPtr Buffer)
 instance BoxedObject Buffer where
+data BufferCopyMethodInfo
+data BufferFreeMethodInfo
+data BufferGetAsBytesMethodInfo
+data BufferGetDataMethodInfo
+data BufferGetOwnerMethodInfo
+data BufferNewSubbufferMethodInfo
diff --git a/GI/Soup/Structs/ClientContext.hs b/GI/Soup/Structs/ClientContext.hs
--- a/GI/Soup/Structs/ClientContext.hs
+++ b/GI/Soup/Structs/ClientContext.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -27,38 +28,47 @@
 
  -- * Methods
 -- ** clientContextGetAddress
+    ClientContextGetAddressMethodInfo       ,
     clientContextGetAddress                 ,
 
 
 -- ** clientContextGetAuthDomain
+    ClientContextGetAuthDomainMethodInfo    ,
     clientContextGetAuthDomain              ,
 
 
 -- ** clientContextGetAuthUser
+    ClientContextGetAuthUserMethodInfo      ,
     clientContextGetAuthUser                ,
 
 
 -- ** clientContextGetGsocket
+    ClientContextGetGsocketMethodInfo       ,
     clientContextGetGsocket                 ,
 
 
 -- ** clientContextGetHost
+    ClientContextGetHostMethodInfo          ,
     clientContextGetHost                    ,
 
 
 -- ** clientContextGetLocalAddress
+    ClientContextGetLocalAddressMethodInfo  ,
     clientContextGetLocalAddress            ,
 
 
 -- ** clientContextGetRemoteAddress
+    ClientContextGetRemoteAddressMethodInfo ,
     clientContextGetRemoteAddress           ,
 
 
 -- ** clientContextGetSocket
+    ClientContextGetSocketMethodInfo        ,
     clientContextGetSocket                  ,
 
 
 -- ** clientContextStealConnection
+    ClientContextStealConnectionMethodInfo  ,
     clientContextStealConnection            ,
 
 
@@ -89,9 +99,8 @@
 
 -- method ClientContext::get_address
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Address"
 -- throws : False
 -- Skip return : False
@@ -103,8 +112,8 @@
 {-# DEPRECATED clientContextGetAddress ["Use soup_client_context_get_remote_address(), which returns","a #GSocketAddress."]#-}
 clientContextGetAddress ::
     (MonadIO m) =>
-    ClientContext ->                        -- _obj
-    m Address
+    ClientContext                           -- _obj
+    -> m Address                            -- result
 clientContextGetAddress _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_client_context_get_address _obj'
@@ -113,11 +122,14 @@
     touchManagedPtr _obj
     return result'
 
+data ClientContextGetAddressMethodInfo
+instance (signature ~ (m Address), MonadIO m) => MethodInfo ClientContextGetAddressMethodInfo ClientContext signature where
+    overloadedMethod _ = clientContextGetAddress
+
 -- method ClientContext::get_auth_domain
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "AuthDomain"
 -- throws : False
 -- Skip return : False
@@ -129,8 +141,8 @@
 
 clientContextGetAuthDomain ::
     (MonadIO m) =>
-    ClientContext ->                        -- _obj
-    m AuthDomain
+    ClientContext                           -- _obj
+    -> m AuthDomain                         -- result
 clientContextGetAuthDomain _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_client_context_get_auth_domain _obj'
@@ -139,11 +151,14 @@
     touchManagedPtr _obj
     return result'
 
+data ClientContextGetAuthDomainMethodInfo
+instance (signature ~ (m AuthDomain), MonadIO m) => MethodInfo ClientContextGetAuthDomainMethodInfo ClientContext signature where
+    overloadedMethod _ = clientContextGetAuthDomain
+
 -- method ClientContext::get_auth_user
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -155,8 +170,8 @@
 
 clientContextGetAuthUser ::
     (MonadIO m) =>
-    ClientContext ->                        -- _obj
-    m T.Text
+    ClientContext                           -- _obj
+    -> m T.Text                             -- result
 clientContextGetAuthUser _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_client_context_get_auth_user _obj'
@@ -165,11 +180,14 @@
     touchManagedPtr _obj
     return result'
 
+data ClientContextGetAuthUserMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo ClientContextGetAuthUserMethodInfo ClientContext signature where
+    overloadedMethod _ = clientContextGetAuthUser
+
 -- method ClientContext::get_gsocket
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Gio" "Socket"
 -- throws : False
 -- Skip return : False
@@ -181,8 +199,8 @@
 
 clientContextGetGsocket ::
     (MonadIO m) =>
-    ClientContext ->                        -- _obj
-    m Gio.Socket
+    ClientContext                           -- _obj
+    -> m Gio.Socket                         -- result
 clientContextGetGsocket _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_client_context_get_gsocket _obj'
@@ -191,11 +209,14 @@
     touchManagedPtr _obj
     return result'
 
+data ClientContextGetGsocketMethodInfo
+instance (signature ~ (m Gio.Socket), MonadIO m) => MethodInfo ClientContextGetGsocketMethodInfo ClientContext signature where
+    overloadedMethod _ = clientContextGetGsocket
+
 -- method ClientContext::get_host
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -207,8 +228,8 @@
 
 clientContextGetHost ::
     (MonadIO m) =>
-    ClientContext ->                        -- _obj
-    m T.Text
+    ClientContext                           -- _obj
+    -> m T.Text                             -- result
 clientContextGetHost _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_client_context_get_host _obj'
@@ -217,11 +238,14 @@
     touchManagedPtr _obj
     return result'
 
+data ClientContextGetHostMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo ClientContextGetHostMethodInfo ClientContext signature where
+    overloadedMethod _ = clientContextGetHost
+
 -- method ClientContext::get_local_address
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Gio" "SocketAddress"
 -- throws : False
 -- Skip return : False
@@ -233,8 +257,8 @@
 
 clientContextGetLocalAddress ::
     (MonadIO m) =>
-    ClientContext ->                        -- _obj
-    m Gio.SocketAddress
+    ClientContext                           -- _obj
+    -> m Gio.SocketAddress                  -- result
 clientContextGetLocalAddress _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_client_context_get_local_address _obj'
@@ -243,11 +267,14 @@
     touchManagedPtr _obj
     return result'
 
+data ClientContextGetLocalAddressMethodInfo
+instance (signature ~ (m Gio.SocketAddress), MonadIO m) => MethodInfo ClientContextGetLocalAddressMethodInfo ClientContext signature where
+    overloadedMethod _ = clientContextGetLocalAddress
+
 -- method ClientContext::get_remote_address
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Gio" "SocketAddress"
 -- throws : False
 -- Skip return : False
@@ -259,8 +286,8 @@
 
 clientContextGetRemoteAddress ::
     (MonadIO m) =>
-    ClientContext ->                        -- _obj
-    m Gio.SocketAddress
+    ClientContext                           -- _obj
+    -> m Gio.SocketAddress                  -- result
 clientContextGetRemoteAddress _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_client_context_get_remote_address _obj'
@@ -269,11 +296,14 @@
     touchManagedPtr _obj
     return result'
 
+data ClientContextGetRemoteAddressMethodInfo
+instance (signature ~ (m Gio.SocketAddress), MonadIO m) => MethodInfo ClientContextGetRemoteAddressMethodInfo ClientContext signature where
+    overloadedMethod _ = clientContextGetRemoteAddress
+
 -- method ClientContext::get_socket
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Socket"
 -- throws : False
 -- Skip return : False
@@ -285,8 +315,8 @@
 {-# DEPRECATED clientContextGetSocket ["use soup_client_context_get_gsocket(), which returns","a #GSocket."]#-}
 clientContextGetSocket ::
     (MonadIO m) =>
-    ClientContext ->                        -- _obj
-    m Socket
+    ClientContext                           -- _obj
+    -> m Socket                             -- result
 clientContextGetSocket _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_client_context_get_socket _obj'
@@ -295,11 +325,14 @@
     touchManagedPtr _obj
     return result'
 
+data ClientContextGetSocketMethodInfo
+instance (signature ~ (m Socket), MonadIO m) => MethodInfo ClientContextGetSocketMethodInfo ClientContext signature where
+    overloadedMethod _ = clientContextGetSocket
+
 -- method ClientContext::steal_connection
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Gio" "IOStream"
 -- throws : False
 -- Skip return : False
@@ -311,8 +344,8 @@
 
 clientContextStealConnection ::
     (MonadIO m) =>
-    ClientContext ->                        -- _obj
-    m Gio.IOStream
+    ClientContext                           -- _obj
+    -> m Gio.IOStream                       -- result
 clientContextStealConnection _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_client_context_steal_connection _obj'
@@ -320,5 +353,29 @@
     result' <- (wrapObject Gio.IOStream) result
     touchManagedPtr _obj
     return result'
+
+data ClientContextStealConnectionMethodInfo
+instance (signature ~ (m Gio.IOStream), MonadIO m) => MethodInfo ClientContextStealConnectionMethodInfo ClientContext signature where
+    overloadedMethod _ = clientContextStealConnection
+
+type family ResolveClientContextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveClientContextMethod "stealConnection" o = ClientContextStealConnectionMethodInfo
+    ResolveClientContextMethod "getAddress" o = ClientContextGetAddressMethodInfo
+    ResolveClientContextMethod "getAuthDomain" o = ClientContextGetAuthDomainMethodInfo
+    ResolveClientContextMethod "getAuthUser" o = ClientContextGetAuthUserMethodInfo
+    ResolveClientContextMethod "getGsocket" o = ClientContextGetGsocketMethodInfo
+    ResolveClientContextMethod "getHost" o = ClientContextGetHostMethodInfo
+    ResolveClientContextMethod "getLocalAddress" o = ClientContextGetLocalAddressMethodInfo
+    ResolveClientContextMethod "getRemoteAddress" o = ClientContextGetRemoteAddressMethodInfo
+    ResolveClientContextMethod "getSocket" o = ClientContextGetSocketMethodInfo
+    ResolveClientContextMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveClientContextMethod t ClientContext, MethodInfo info ClientContext p) => IsLabelProxy t (ClientContext -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveClientContextMethod t ClientContext, MethodInfo info ClientContext p) => IsLabel t (ClientContext -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Soup/Structs/ClientContext.hs-boot b/GI/Soup/Structs/ClientContext.hs-boot
--- a/GI/Soup/Structs/ClientContext.hs-boot
+++ b/GI/Soup/Structs/ClientContext.hs-boot
@@ -9,3 +9,12 @@
 
 newtype ClientContext = ClientContext (ForeignPtr ClientContext)
 instance BoxedObject ClientContext where
+data ClientContextGetAddressMethodInfo
+data ClientContextGetAuthDomainMethodInfo
+data ClientContextGetAuthUserMethodInfo
+data ClientContextGetGsocketMethodInfo
+data ClientContextGetHostMethodInfo
+data ClientContextGetLocalAddressMethodInfo
+data ClientContextGetRemoteAddressMethodInfo
+data ClientContextGetSocketMethodInfo
+data ClientContextStealConnectionMethodInfo
diff --git a/GI/Soup/Structs/Connection.hs b/GI/Soup/Structs/Connection.hs
--- a/GI/Soup/Structs/Connection.hs
+++ b/GI/Soup/Structs/Connection.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 Connection = Connection (ForeignPtr Connection)
 noConnection :: Maybe Connection
 noConnection = Nothing
+
+type family ResolveConnectionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveConnectionMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveConnectionMethod t Connection, MethodInfo info Connection p) => IsLabelProxy t (Connection -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveConnectionMethod t Connection, MethodInfo info Connection p) => IsLabel t (Connection -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Soup/Structs/Cookie.hs b/GI/Soup/Structs/Cookie.hs
--- a/GI/Soup/Structs/Cookie.hs
+++ b/GI/Soup/Structs/Cookie.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -31,55 +32,68 @@
 
 -- * Exported types
     Cookie(..)                              ,
+    newZeroCookie                           ,
     noCookie                                ,
 
 
  -- * Methods
 -- ** cookieAppliesToUri
+    CookieAppliesToUriMethodInfo            ,
     cookieAppliesToUri                      ,
 
 
 -- ** cookieCopy
+    CookieCopyMethodInfo                    ,
     cookieCopy                              ,
 
 
 -- ** cookieDomainMatches
+    CookieDomainMatchesMethodInfo           ,
     cookieDomainMatches                     ,
 
 
 -- ** cookieEqual
+    CookieEqualMethodInfo                   ,
     cookieEqual                             ,
 
 
 -- ** cookieFree
+    CookieFreeMethodInfo                    ,
     cookieFree                              ,
 
 
 -- ** cookieGetDomain
+    CookieGetDomainMethodInfo               ,
     cookieGetDomain                         ,
 
 
 -- ** cookieGetExpires
+    CookieGetExpiresMethodInfo              ,
     cookieGetExpires                        ,
 
 
 -- ** cookieGetHttpOnly
+    CookieGetHttpOnlyMethodInfo             ,
     cookieGetHttpOnly                       ,
 
 
 -- ** cookieGetName
+    CookieGetNameMethodInfo                 ,
     cookieGetName                           ,
 
 
 -- ** cookieGetPath
+    CookieGetPathMethodInfo                 ,
     cookieGetPath                           ,
 
 
 -- ** cookieGetSecure
+    CookieGetSecureMethodInfo               ,
     cookieGetSecure                         ,
 
 
 -- ** cookieGetValue
+    CookieGetValueMethodInfo                ,
     cookieGetValue                          ,
 
 
@@ -87,43 +101,57 @@
     cookieNew                               ,
 
 
+-- ** cookieParse
+    cookieParse                             ,
+
+
 -- ** cookieSetDomain
+    CookieSetDomainMethodInfo               ,
     cookieSetDomain                         ,
 
 
 -- ** cookieSetExpires
+    CookieSetExpiresMethodInfo              ,
     cookieSetExpires                        ,
 
 
 -- ** cookieSetHttpOnly
+    CookieSetHttpOnlyMethodInfo             ,
     cookieSetHttpOnly                       ,
 
 
 -- ** cookieSetMaxAge
+    CookieSetMaxAgeMethodInfo               ,
     cookieSetMaxAge                         ,
 
 
 -- ** cookieSetName
+    CookieSetNameMethodInfo                 ,
     cookieSetName                           ,
 
 
 -- ** cookieSetPath
+    CookieSetPathMethodInfo                 ,
     cookieSetPath                           ,
 
 
 -- ** cookieSetSecure
+    CookieSetSecureMethodInfo               ,
     cookieSetSecure                         ,
 
 
 -- ** cookieSetValue
+    CookieSetValueMethodInfo                ,
     cookieSetValue                          ,
 
 
 -- ** cookieToCookieHeader
+    CookieToCookieHeaderMethodInfo          ,
     cookieToCookieHeader                    ,
 
 
 -- ** cookieToSetCookieHeader
+    CookieToSetCookieHeaderMethodInfo       ,
     cookieToSetCookieHeader                 ,
 
 
@@ -179,6 +207,10 @@
 instance BoxedObject Cookie where
     boxedType _ = c_soup_cookie_get_type
 
+-- | Construct a `Cookie` struct initialized to zero.
+newZeroCookie :: MonadIO m => m Cookie
+newZeroCookie = liftIO $ callocBoxedBytes 48 >>= wrapBoxed Cookie
+
 noCookie :: Maybe Cookie
 noCookie = Nothing
 
@@ -226,9 +258,8 @@
 
 -- method Cookie::new
 -- method type : Constructor
--- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_age", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_age", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_age", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Cookie"
 -- throws : False
 -- Skip return : False
@@ -244,18 +275,18 @@
 
 cookieNew ::
     (MonadIO m) =>
-    T.Text ->                               -- name
-    T.Text ->                               -- value
-    T.Text ->                               -- domain
-    T.Text ->                               -- path
-    Int32 ->                                -- max_age
-    m Cookie
-cookieNew name value domain path max_age = liftIO $ do
+    T.Text                                  -- name
+    -> T.Text                               -- value
+    -> T.Text                               -- domain
+    -> T.Text                               -- path
+    -> Int32                                -- maxAge
+    -> m Cookie                             -- result
+cookieNew name value domain path maxAge = liftIO $ do
     name' <- textToCString name
     value' <- textToCString value
     domain' <- textToCString domain
     path' <- textToCString path
-    result <- soup_cookie_new name' value' domain' path' max_age
+    result <- soup_cookie_new name' value' domain' path' maxAge
     checkUnexpectedReturnNULL "soup_cookie_new" result
     result' <- (wrapBoxed Cookie) result
     freeMem name'
@@ -266,9 +297,8 @@
 
 -- method Cookie::applies_to_uri
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -281,9 +311,9 @@
 
 cookieAppliesToUri ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    URI ->                                  -- uri
-    m Bool
+    Cookie                                  -- _obj
+    -> URI                                  -- uri
+    -> m Bool                               -- result
 cookieAppliesToUri _obj uri = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let uri' = unsafeManagedPtrGetPtr uri
@@ -293,11 +323,14 @@
     touchManagedPtr uri
     return result'
 
+data CookieAppliesToUriMethodInfo
+instance (signature ~ (URI -> m Bool), MonadIO m) => MethodInfo CookieAppliesToUriMethodInfo Cookie signature where
+    overloadedMethod _ = cookieAppliesToUri
+
 -- method Cookie::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Cookie"
 -- throws : False
 -- Skip return : False
@@ -309,8 +342,8 @@
 
 cookieCopy ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    m Cookie
+    Cookie                                  -- _obj
+    -> m Cookie                             -- result
 cookieCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_cookie_copy _obj'
@@ -319,11 +352,14 @@
     touchManagedPtr _obj
     return result'
 
+data CookieCopyMethodInfo
+instance (signature ~ (m Cookie), MonadIO m) => MethodInfo CookieCopyMethodInfo Cookie signature where
+    overloadedMethod _ = cookieCopy
+
 -- method Cookie::domain_matches
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -336,9 +372,9 @@
 
 cookieDomainMatches ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    T.Text ->                               -- host
-    m Bool
+    Cookie                                  -- _obj
+    -> T.Text                               -- host
+    -> m Bool                               -- result
 cookieDomainMatches _obj host = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     host' <- textToCString host
@@ -348,11 +384,14 @@
     freeMem host'
     return result'
 
+data CookieDomainMatchesMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m) => MethodInfo CookieDomainMatchesMethodInfo Cookie signature where
+    overloadedMethod _ = cookieDomainMatches
+
 -- method Cookie::equal
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie2", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cookie2", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie2", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -365,9 +404,9 @@
 
 cookieEqual ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    Cookie ->                               -- cookie2
-    m Bool
+    Cookie                                  -- _obj
+    -> Cookie                               -- cookie2
+    -> m Bool                               -- result
 cookieEqual _obj cookie2 = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let cookie2' = unsafeManagedPtrGetPtr cookie2
@@ -377,11 +416,14 @@
     touchManagedPtr cookie2
     return result'
 
+data CookieEqualMethodInfo
+instance (signature ~ (Cookie -> m Bool), MonadIO m) => MethodInfo CookieEqualMethodInfo Cookie signature where
+    overloadedMethod _ = cookieEqual
+
 -- method Cookie::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -393,19 +435,22 @@
 
 cookieFree ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    m ()
+    Cookie                                  -- _obj
+    -> m ()                                 -- result
 cookieFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     soup_cookie_free _obj'
     touchManagedPtr _obj
     return ()
 
+data CookieFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo CookieFreeMethodInfo Cookie signature where
+    overloadedMethod _ = cookieFree
+
 -- method Cookie::get_domain
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -417,8 +462,8 @@
 
 cookieGetDomain ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    m T.Text
+    Cookie                                  -- _obj
+    -> m T.Text                             -- result
 cookieGetDomain _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_cookie_get_domain _obj'
@@ -427,11 +472,14 @@
     touchManagedPtr _obj
     return result'
 
+data CookieGetDomainMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo CookieGetDomainMethodInfo Cookie signature where
+    overloadedMethod _ = cookieGetDomain
+
 -- method Cookie::get_expires
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Date"
 -- throws : False
 -- Skip return : False
@@ -443,8 +491,8 @@
 
 cookieGetExpires ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    m Date
+    Cookie                                  -- _obj
+    -> m Date                               -- result
 cookieGetExpires _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_cookie_get_expires _obj'
@@ -453,11 +501,14 @@
     touchManagedPtr _obj
     return result'
 
+data CookieGetExpiresMethodInfo
+instance (signature ~ (m Date), MonadIO m) => MethodInfo CookieGetExpiresMethodInfo Cookie signature where
+    overloadedMethod _ = cookieGetExpires
+
 -- method Cookie::get_http_only
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -469,8 +520,8 @@
 
 cookieGetHttpOnly ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    m Bool
+    Cookie                                  -- _obj
+    -> m Bool                               -- result
 cookieGetHttpOnly _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_cookie_get_http_only _obj'
@@ -478,11 +529,14 @@
     touchManagedPtr _obj
     return result'
 
+data CookieGetHttpOnlyMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo CookieGetHttpOnlyMethodInfo Cookie signature where
+    overloadedMethod _ = cookieGetHttpOnly
+
 -- method Cookie::get_name
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -494,8 +548,8 @@
 
 cookieGetName ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    m T.Text
+    Cookie                                  -- _obj
+    -> m T.Text                             -- result
 cookieGetName _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_cookie_get_name _obj'
@@ -504,11 +558,14 @@
     touchManagedPtr _obj
     return result'
 
+data CookieGetNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo CookieGetNameMethodInfo Cookie signature where
+    overloadedMethod _ = cookieGetName
+
 -- method Cookie::get_path
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -520,8 +577,8 @@
 
 cookieGetPath ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    m T.Text
+    Cookie                                  -- _obj
+    -> m T.Text                             -- result
 cookieGetPath _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_cookie_get_path _obj'
@@ -530,11 +587,14 @@
     touchManagedPtr _obj
     return result'
 
+data CookieGetPathMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo CookieGetPathMethodInfo Cookie signature where
+    overloadedMethod _ = cookieGetPath
+
 -- method Cookie::get_secure
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -546,8 +606,8 @@
 
 cookieGetSecure ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    m Bool
+    Cookie                                  -- _obj
+    -> m Bool                               -- result
 cookieGetSecure _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_cookie_get_secure _obj'
@@ -555,11 +615,14 @@
     touchManagedPtr _obj
     return result'
 
+data CookieGetSecureMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo CookieGetSecureMethodInfo Cookie signature where
+    overloadedMethod _ = cookieGetSecure
+
 -- method Cookie::get_value
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -571,8 +634,8 @@
 
 cookieGetValue ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    m T.Text
+    Cookie                                  -- _obj
+    -> m T.Text                             -- result
 cookieGetValue _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_cookie_get_value _obj'
@@ -581,11 +644,14 @@
     touchManagedPtr _obj
     return result'
 
+data CookieGetValueMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo CookieGetValueMethodInfo Cookie signature where
+    overloadedMethod _ = cookieGetValue
+
 -- method Cookie::set_domain
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -598,9 +664,9 @@
 
 cookieSetDomain ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    T.Text ->                               -- domain
-    m ()
+    Cookie                                  -- _obj
+    -> T.Text                               -- domain
+    -> m ()                                 -- result
 cookieSetDomain _obj domain = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     domain' <- textToCString domain
@@ -609,11 +675,14 @@
     freeMem domain'
     return ()
 
+data CookieSetDomainMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m) => MethodInfo CookieSetDomainMethodInfo Cookie signature where
+    overloadedMethod _ = cookieSetDomain
+
 -- method Cookie::set_expires
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expires", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expires", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expires", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -626,9 +695,9 @@
 
 cookieSetExpires ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    Date ->                                 -- expires
-    m ()
+    Cookie                                  -- _obj
+    -> Date                                 -- expires
+    -> m ()                                 -- result
 cookieSetExpires _obj expires = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let expires' = unsafeManagedPtrGetPtr expires
@@ -637,11 +706,14 @@
     touchManagedPtr expires
     return ()
 
+data CookieSetExpiresMethodInfo
+instance (signature ~ (Date -> m ()), MonadIO m) => MethodInfo CookieSetExpiresMethodInfo Cookie signature where
+    overloadedMethod _ = cookieSetExpires
+
 -- method Cookie::set_http_only
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "http_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "http_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "http_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -654,21 +726,24 @@
 
 cookieSetHttpOnly ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    Bool ->                                 -- http_only
-    m ()
-cookieSetHttpOnly _obj http_only = liftIO $ do
+    Cookie                                  -- _obj
+    -> Bool                                 -- httpOnly
+    -> m ()                                 -- result
+cookieSetHttpOnly _obj httpOnly = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    let http_only' = (fromIntegral . fromEnum) http_only
-    soup_cookie_set_http_only _obj' http_only'
+    let httpOnly' = (fromIntegral . fromEnum) httpOnly
+    soup_cookie_set_http_only _obj' httpOnly'
     touchManagedPtr _obj
     return ()
 
+data CookieSetHttpOnlyMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m) => MethodInfo CookieSetHttpOnlyMethodInfo Cookie signature where
+    overloadedMethod _ = cookieSetHttpOnly
+
 -- method Cookie::set_max_age
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_age", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_age", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_age", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -681,20 +756,23 @@
 
 cookieSetMaxAge ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    Int32 ->                                -- max_age
-    m ()
-cookieSetMaxAge _obj max_age = liftIO $ do
+    Cookie                                  -- _obj
+    -> Int32                                -- maxAge
+    -> m ()                                 -- result
+cookieSetMaxAge _obj maxAge = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    soup_cookie_set_max_age _obj' max_age
+    soup_cookie_set_max_age _obj' maxAge
     touchManagedPtr _obj
     return ()
 
+data CookieSetMaxAgeMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m) => MethodInfo CookieSetMaxAgeMethodInfo Cookie signature where
+    overloadedMethod _ = cookieSetMaxAge
+
 -- method Cookie::set_name
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -707,9 +785,9 @@
 
 cookieSetName ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    T.Text ->                               -- name
-    m ()
+    Cookie                                  -- _obj
+    -> T.Text                               -- name
+    -> m ()                                 -- result
 cookieSetName _obj name = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     name' <- textToCString name
@@ -718,11 +796,14 @@
     freeMem name'
     return ()
 
+data CookieSetNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m) => MethodInfo CookieSetNameMethodInfo Cookie signature where
+    overloadedMethod _ = cookieSetName
+
 -- method Cookie::set_path
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -735,9 +816,9 @@
 
 cookieSetPath ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    T.Text ->                               -- path
-    m ()
+    Cookie                                  -- _obj
+    -> T.Text                               -- path
+    -> m ()                                 -- result
 cookieSetPath _obj path = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     path' <- textToCString path
@@ -746,11 +827,14 @@
     freeMem path'
     return ()
 
+data CookieSetPathMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m) => MethodInfo CookieSetPathMethodInfo Cookie signature where
+    overloadedMethod _ = cookieSetPath
+
 -- method Cookie::set_secure
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "secure", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "secure", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "secure", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -763,9 +847,9 @@
 
 cookieSetSecure ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    Bool ->                                 -- secure
-    m ()
+    Cookie                                  -- _obj
+    -> Bool                                 -- secure
+    -> m ()                                 -- result
 cookieSetSecure _obj secure = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let secure' = (fromIntegral . fromEnum) secure
@@ -773,11 +857,14 @@
     touchManagedPtr _obj
     return ()
 
+data CookieSetSecureMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m) => MethodInfo CookieSetSecureMethodInfo Cookie signature where
+    overloadedMethod _ = cookieSetSecure
+
 -- method Cookie::set_value
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -790,9 +877,9 @@
 
 cookieSetValue ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    T.Text ->                               -- value
-    m ()
+    Cookie                                  -- _obj
+    -> T.Text                               -- value
+    -> m ()                                 -- result
 cookieSetValue _obj value = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     value' <- textToCString value
@@ -801,11 +888,14 @@
     freeMem value'
     return ()
 
+data CookieSetValueMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m) => MethodInfo CookieSetValueMethodInfo Cookie signature where
+    overloadedMethod _ = cookieSetValue
+
 -- method Cookie::to_cookie_header
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -817,8 +907,8 @@
 
 cookieToCookieHeader ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    m T.Text
+    Cookie                                  -- _obj
+    -> m T.Text                             -- result
 cookieToCookieHeader _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_cookie_to_cookie_header _obj'
@@ -828,11 +918,14 @@
     touchManagedPtr _obj
     return result'
 
+data CookieToCookieHeaderMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo CookieToCookieHeaderMethodInfo Cookie signature where
+    overloadedMethod _ = cookieToCookieHeader
+
 -- method Cookie::to_set_cookie_header
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -844,8 +937,8 @@
 
 cookieToSetCookieHeader ::
     (MonadIO m) =>
-    Cookie ->                               -- _obj
-    m T.Text
+    Cookie                                  -- _obj
+    -> m T.Text                             -- result
 cookieToSetCookieHeader _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_cookie_to_set_cookie_header _obj'
@@ -854,5 +947,71 @@
     freeMem result
     touchManagedPtr _obj
     return result'
+
+data CookieToSetCookieHeaderMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo CookieToSetCookieHeaderMethodInfo Cookie signature where
+    overloadedMethod _ = cookieToSetCookieHeader
+
+-- method Cookie::parse
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "Soup" "Cookie"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_cookie_parse" soup_cookie_parse :: 
+    CString ->                              -- header : TBasicType TUTF8
+    Ptr URI ->                              -- origin : TInterface "Soup" "URI"
+    IO (Ptr Cookie)
+
+
+cookieParse ::
+    (MonadIO m) =>
+    T.Text                                  -- header
+    -> URI                                  -- origin
+    -> m Cookie                             -- result
+cookieParse header origin = liftIO $ do
+    header' <- textToCString header
+    let origin' = unsafeManagedPtrGetPtr origin
+    result <- soup_cookie_parse header' origin'
+    checkUnexpectedReturnNULL "soup_cookie_parse" result
+    result' <- (wrapBoxed Cookie) result
+    touchManagedPtr origin
+    freeMem header'
+    return result'
+
+type family ResolveCookieMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCookieMethod "appliesToUri" o = CookieAppliesToUriMethodInfo
+    ResolveCookieMethod "copy" o = CookieCopyMethodInfo
+    ResolveCookieMethod "domainMatches" o = CookieDomainMatchesMethodInfo
+    ResolveCookieMethod "equal" o = CookieEqualMethodInfo
+    ResolveCookieMethod "free" o = CookieFreeMethodInfo
+    ResolveCookieMethod "toCookieHeader" o = CookieToCookieHeaderMethodInfo
+    ResolveCookieMethod "toSetCookieHeader" o = CookieToSetCookieHeaderMethodInfo
+    ResolveCookieMethod "getDomain" o = CookieGetDomainMethodInfo
+    ResolveCookieMethod "getExpires" o = CookieGetExpiresMethodInfo
+    ResolveCookieMethod "getHttpOnly" o = CookieGetHttpOnlyMethodInfo
+    ResolveCookieMethod "getName" o = CookieGetNameMethodInfo
+    ResolveCookieMethod "getPath" o = CookieGetPathMethodInfo
+    ResolveCookieMethod "getSecure" o = CookieGetSecureMethodInfo
+    ResolveCookieMethod "getValue" o = CookieGetValueMethodInfo
+    ResolveCookieMethod "setDomain" o = CookieSetDomainMethodInfo
+    ResolveCookieMethod "setExpires" o = CookieSetExpiresMethodInfo
+    ResolveCookieMethod "setHttpOnly" o = CookieSetHttpOnlyMethodInfo
+    ResolveCookieMethod "setMaxAge" o = CookieSetMaxAgeMethodInfo
+    ResolveCookieMethod "setName" o = CookieSetNameMethodInfo
+    ResolveCookieMethod "setPath" o = CookieSetPathMethodInfo
+    ResolveCookieMethod "setSecure" o = CookieSetSecureMethodInfo
+    ResolveCookieMethod "setValue" o = CookieSetValueMethodInfo
+    ResolveCookieMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveCookieMethod t Cookie, MethodInfo info Cookie p) => IsLabelProxy t (Cookie -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveCookieMethod t Cookie, MethodInfo info Cookie p) => IsLabel t (Cookie -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Soup/Structs/Cookie.hs-boot b/GI/Soup/Structs/Cookie.hs-boot
--- a/GI/Soup/Structs/Cookie.hs-boot
+++ b/GI/Soup/Structs/Cookie.hs-boot
@@ -9,3 +9,25 @@
 
 newtype Cookie = Cookie (ForeignPtr Cookie)
 instance BoxedObject Cookie where
+data CookieAppliesToUriMethodInfo
+data CookieCopyMethodInfo
+data CookieDomainMatchesMethodInfo
+data CookieEqualMethodInfo
+data CookieFreeMethodInfo
+data CookieGetDomainMethodInfo
+data CookieGetExpiresMethodInfo
+data CookieGetHttpOnlyMethodInfo
+data CookieGetNameMethodInfo
+data CookieGetPathMethodInfo
+data CookieGetSecureMethodInfo
+data CookieGetValueMethodInfo
+data CookieSetDomainMethodInfo
+data CookieSetExpiresMethodInfo
+data CookieSetHttpOnlyMethodInfo
+data CookieSetMaxAgeMethodInfo
+data CookieSetNameMethodInfo
+data CookieSetPathMethodInfo
+data CookieSetSecureMethodInfo
+data CookieSetValueMethodInfo
+data CookieToCookieHeaderMethodInfo
+data CookieToSetCookieHeaderMethodInfo
diff --git a/GI/Soup/Structs/Date.hs b/GI/Soup/Structs/Date.hs
--- a/GI/Soup/Structs/Date.hs
+++ b/GI/Soup/Structs/Date.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -18,51 +19,63 @@
 
 -- * Exported types
     Date(..)                                ,
+    newZeroDate                             ,
     noDate                                  ,
 
 
  -- * Methods
 -- ** dateCopy
+    DateCopyMethodInfo                      ,
     dateCopy                                ,
 
 
 -- ** dateFree
+    DateFreeMethodInfo                      ,
     dateFree                                ,
 
 
 -- ** dateGetDay
+    DateGetDayMethodInfo                    ,
     dateGetDay                              ,
 
 
 -- ** dateGetHour
+    DateGetHourMethodInfo                   ,
     dateGetHour                             ,
 
 
 -- ** dateGetMinute
+    DateGetMinuteMethodInfo                 ,
     dateGetMinute                           ,
 
 
 -- ** dateGetMonth
+    DateGetMonthMethodInfo                  ,
     dateGetMonth                            ,
 
 
 -- ** dateGetOffset
+    DateGetOffsetMethodInfo                 ,
     dateGetOffset                           ,
 
 
 -- ** dateGetSecond
+    DateGetSecondMethodInfo                 ,
     dateGetSecond                           ,
 
 
 -- ** dateGetUtc
+    DateGetUtcMethodInfo                    ,
     dateGetUtc                              ,
 
 
 -- ** dateGetYear
+    DateGetYearMethodInfo                   ,
     dateGetYear                             ,
 
 
 -- ** dateIsPast
+    DateIsPastMethodInfo                    ,
     dateIsPast                              ,
 
 
@@ -83,14 +96,17 @@
 
 
 -- ** dateToString
+    DateToStringMethodInfo                  ,
     dateToString                            ,
 
 
 -- ** dateToTimeT
+    DateToTimeTMethodInfo                   ,
     dateToTimeT                             ,
 
 
 -- ** dateToTimeval
+    DateToTimevalMethodInfo                 ,
     dateToTimeval                           ,
 
 
@@ -151,6 +167,10 @@
 instance BoxedObject Date where
     boxedType _ = c_soup_date_get_type
 
+-- | Construct a `Date` struct initialized to zero.
+newZeroDate :: MonadIO m => m Date
+newZeroDate = liftIO $ callocBoxedBytes 32 >>= wrapBoxed Date
+
 noDate :: Maybe Date
 noDate = Nothing
 
@@ -197,9 +217,8 @@
 
 -- method Date::new
 -- method type : Constructor
--- Args : [Arg {argName = "year", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "month", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "day", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hour", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minute", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "second", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "year", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hour", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minute", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "second", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "year", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "month", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "day", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hour", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minute", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "second", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Date"
 -- throws : False
 -- Skip return : False
@@ -216,13 +235,13 @@
 
 dateNew ::
     (MonadIO m) =>
-    Int32 ->                                -- year
-    Int32 ->                                -- month
-    Int32 ->                                -- day
-    Int32 ->                                -- hour
-    Int32 ->                                -- minute
-    Int32 ->                                -- second
-    m Date
+    Int32                                   -- year
+    -> Int32                                -- month
+    -> Int32                                -- day
+    -> Int32                                -- hour
+    -> Int32                                -- minute
+    -> Int32                                -- second
+    -> m Date                               -- result
 dateNew year month day hour minute second = liftIO $ do
     result <- soup_date_new year month day hour minute second
     checkUnexpectedReturnNULL "soup_date_new" result
@@ -231,9 +250,8 @@
 
 -- method Date::new_from_now
 -- method type : Constructor
--- Args : [Arg {argName = "offset_seconds", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "offset_seconds", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "offset_seconds", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Date"
 -- throws : False
 -- Skip return : False
@@ -245,19 +263,18 @@
 
 dateNewFromNow ::
     (MonadIO m) =>
-    Int32 ->                                -- offset_seconds
-    m Date
-dateNewFromNow offset_seconds = liftIO $ do
-    result <- soup_date_new_from_now offset_seconds
+    Int32                                   -- offsetSeconds
+    -> m Date                               -- result
+dateNewFromNow offsetSeconds = liftIO $ do
+    result <- soup_date_new_from_now offsetSeconds
     checkUnexpectedReturnNULL "soup_date_new_from_now" result
     result' <- (wrapBoxed Date) result
     return result'
 
 -- method Date::new_from_string
 -- method type : Constructor
--- Args : [Arg {argName = "date_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "date_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "date_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Date"
 -- throws : False
 -- Skip return : False
@@ -269,21 +286,20 @@
 
 dateNewFromString ::
     (MonadIO m) =>
-    T.Text ->                               -- date_string
-    m Date
-dateNewFromString date_string = liftIO $ do
-    date_string' <- textToCString date_string
-    result <- soup_date_new_from_string date_string'
+    T.Text                                  -- dateString
+    -> m Date                               -- result
+dateNewFromString dateString = liftIO $ do
+    dateString' <- textToCString dateString
+    result <- soup_date_new_from_string dateString'
     checkUnexpectedReturnNULL "soup_date_new_from_string" result
     result' <- (wrapBoxed Date) result
-    freeMem date_string'
+    freeMem dateString'
     return result'
 
 -- method Date::new_from_time_t
 -- method type : Constructor
--- Args : [Arg {argName = "when", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "when", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "when", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Date"
 -- throws : False
 -- Skip return : False
@@ -295,8 +311,8 @@
 
 dateNewFromTimeT ::
     (MonadIO m) =>
-    Int64 ->                                -- when
-    m Date
+    Int64                                   -- when_
+    -> m Date                               -- result
 dateNewFromTimeT when_ = liftIO $ do
     result <- soup_date_new_from_time_t when_
     checkUnexpectedReturnNULL "soup_date_new_from_time_t" result
@@ -305,9 +321,8 @@
 
 -- method Date::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Date"
 -- throws : False
 -- Skip return : False
@@ -319,8 +334,8 @@
 
 dateCopy ::
     (MonadIO m) =>
-    Date ->                                 -- _obj
-    m Date
+    Date                                    -- _obj
+    -> m Date                               -- result
 dateCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_date_copy _obj'
@@ -329,11 +344,14 @@
     touchManagedPtr _obj
     return result'
 
+data DateCopyMethodInfo
+instance (signature ~ (m Date), MonadIO m) => MethodInfo DateCopyMethodInfo Date signature where
+    overloadedMethod _ = dateCopy
+
 -- method Date::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -345,19 +363,22 @@
 
 dateFree ::
     (MonadIO m) =>
-    Date ->                                 -- _obj
-    m ()
+    Date                                    -- _obj
+    -> m ()                                 -- result
 dateFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     soup_date_free _obj'
     touchManagedPtr _obj
     return ()
 
+data DateFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo DateFreeMethodInfo Date signature where
+    overloadedMethod _ = dateFree
+
 -- method Date::get_day
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -369,19 +390,22 @@
 
 dateGetDay ::
     (MonadIO m) =>
-    Date ->                                 -- _obj
-    m Int32
+    Date                                    -- _obj
+    -> m Int32                              -- result
 dateGetDay _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_date_get_day _obj'
     touchManagedPtr _obj
     return result
 
+data DateGetDayMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetDayMethodInfo Date signature where
+    overloadedMethod _ = dateGetDay
+
 -- method Date::get_hour
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -393,19 +417,22 @@
 
 dateGetHour ::
     (MonadIO m) =>
-    Date ->                                 -- _obj
-    m Int32
+    Date                                    -- _obj
+    -> m Int32                              -- result
 dateGetHour _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_date_get_hour _obj'
     touchManagedPtr _obj
     return result
 
+data DateGetHourMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetHourMethodInfo Date signature where
+    overloadedMethod _ = dateGetHour
+
 -- method Date::get_minute
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -417,19 +444,22 @@
 
 dateGetMinute ::
     (MonadIO m) =>
-    Date ->                                 -- _obj
-    m Int32
+    Date                                    -- _obj
+    -> m Int32                              -- result
 dateGetMinute _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_date_get_minute _obj'
     touchManagedPtr _obj
     return result
 
+data DateGetMinuteMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetMinuteMethodInfo Date signature where
+    overloadedMethod _ = dateGetMinute
+
 -- method Date::get_month
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -441,19 +471,22 @@
 
 dateGetMonth ::
     (MonadIO m) =>
-    Date ->                                 -- _obj
-    m Int32
+    Date                                    -- _obj
+    -> m Int32                              -- result
 dateGetMonth _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_date_get_month _obj'
     touchManagedPtr _obj
     return result
 
+data DateGetMonthMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetMonthMethodInfo Date signature where
+    overloadedMethod _ = dateGetMonth
+
 -- method Date::get_offset
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -465,19 +498,22 @@
 
 dateGetOffset ::
     (MonadIO m) =>
-    Date ->                                 -- _obj
-    m Int32
+    Date                                    -- _obj
+    -> m Int32                              -- result
 dateGetOffset _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_date_get_offset _obj'
     touchManagedPtr _obj
     return result
 
+data DateGetOffsetMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetOffsetMethodInfo Date signature where
+    overloadedMethod _ = dateGetOffset
+
 -- method Date::get_second
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -489,19 +525,22 @@
 
 dateGetSecond ::
     (MonadIO m) =>
-    Date ->                                 -- _obj
-    m Int32
+    Date                                    -- _obj
+    -> m Int32                              -- result
 dateGetSecond _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_date_get_second _obj'
     touchManagedPtr _obj
     return result
 
+data DateGetSecondMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetSecondMethodInfo Date signature where
+    overloadedMethod _ = dateGetSecond
+
 -- method Date::get_utc
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -513,19 +552,22 @@
 
 dateGetUtc ::
     (MonadIO m) =>
-    Date ->                                 -- _obj
-    m Int32
+    Date                                    -- _obj
+    -> m Int32                              -- result
 dateGetUtc _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_date_get_utc _obj'
     touchManagedPtr _obj
     return result
 
+data DateGetUtcMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetUtcMethodInfo Date signature where
+    overloadedMethod _ = dateGetUtc
+
 -- method Date::get_year
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -537,19 +579,22 @@
 
 dateGetYear ::
     (MonadIO m) =>
-    Date ->                                 -- _obj
-    m Int32
+    Date                                    -- _obj
+    -> m Int32                              -- result
 dateGetYear _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_date_get_year _obj'
     touchManagedPtr _obj
     return result
 
+data DateGetYearMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetYearMethodInfo Date signature where
+    overloadedMethod _ = dateGetYear
+
 -- method Date::is_past
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -561,8 +606,8 @@
 
 dateIsPast ::
     (MonadIO m) =>
-    Date ->                                 -- _obj
-    m Bool
+    Date                                    -- _obj
+    -> m Bool                               -- result
 dateIsPast _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_date_is_past _obj'
@@ -570,11 +615,14 @@
     touchManagedPtr _obj
     return result'
 
+data DateIsPastMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo DateIsPastMethodInfo Date signature where
+    overloadedMethod _ = dateIsPast
+
 -- method Date::to_string
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TInterface "Soup" "DateFormat", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "Soup" "DateFormat", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TInterface "Soup" "DateFormat", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -587,9 +635,9 @@
 
 dateToString ::
     (MonadIO m) =>
-    Date ->                                 -- _obj
-    DateFormat ->                           -- format
-    m T.Text
+    Date                                    -- _obj
+    -> DateFormat                           -- format
+    -> m T.Text                             -- result
 dateToString _obj format = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let format' = (fromIntegral . fromEnum) format
@@ -600,11 +648,14 @@
     touchManagedPtr _obj
     return result'
 
+data DateToStringMethodInfo
+instance (signature ~ (DateFormat -> m T.Text), MonadIO m) => MethodInfo DateToStringMethodInfo Date signature where
+    overloadedMethod _ = dateToString
+
 -- method Date::to_time_t
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt64
 -- throws : False
 -- Skip return : False
@@ -616,19 +667,22 @@
 
 dateToTimeT ::
     (MonadIO m) =>
-    Date ->                                 -- _obj
-    m Int64
+    Date                                    -- _obj
+    -> m Int64                              -- result
 dateToTimeT _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_date_to_time_t _obj'
     touchManagedPtr _obj
     return result
 
+data DateToTimeTMethodInfo
+instance (signature ~ (m Int64), MonadIO m) => MethodInfo DateToTimeTMethodInfo Date signature where
+    overloadedMethod _ = dateToTimeT
+
 -- method Date::to_timeval
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time", argType = TInterface "GLib" "TimeVal", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time", argType = TInterface "GLib" "TimeVal", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -641,8 +695,8 @@
 
 dateToTimeval ::
     (MonadIO m) =>
-    Date ->                                 -- _obj
-    m (GLib.TimeVal)
+    Date                                    -- _obj
+    -> m (GLib.TimeVal)                     -- result
 dateToTimeval _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     time <- callocBytes 16 :: IO (Ptr GLib.TimeVal)
@@ -650,5 +704,34 @@
     time' <- (wrapPtr GLib.TimeVal) time
     touchManagedPtr _obj
     return time'
+
+data DateToTimevalMethodInfo
+instance (signature ~ (m (GLib.TimeVal)), MonadIO m) => MethodInfo DateToTimevalMethodInfo Date signature where
+    overloadedMethod _ = dateToTimeval
+
+type family ResolveDateMethod (t :: Symbol) (o :: *) :: * where
+    ResolveDateMethod "copy" o = DateCopyMethodInfo
+    ResolveDateMethod "free" o = DateFreeMethodInfo
+    ResolveDateMethod "isPast" o = DateIsPastMethodInfo
+    ResolveDateMethod "toString" o = DateToStringMethodInfo
+    ResolveDateMethod "toTimeT" o = DateToTimeTMethodInfo
+    ResolveDateMethod "toTimeval" o = DateToTimevalMethodInfo
+    ResolveDateMethod "getDay" o = DateGetDayMethodInfo
+    ResolveDateMethod "getHour" o = DateGetHourMethodInfo
+    ResolveDateMethod "getMinute" o = DateGetMinuteMethodInfo
+    ResolveDateMethod "getMonth" o = DateGetMonthMethodInfo
+    ResolveDateMethod "getOffset" o = DateGetOffsetMethodInfo
+    ResolveDateMethod "getSecond" o = DateGetSecondMethodInfo
+    ResolveDateMethod "getUtc" o = DateGetUtcMethodInfo
+    ResolveDateMethod "getYear" o = DateGetYearMethodInfo
+    ResolveDateMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveDateMethod t Date, MethodInfo info Date p) => IsLabelProxy t (Date -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveDateMethod t Date, MethodInfo info Date p) => IsLabel t (Date -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Soup/Structs/Date.hs-boot b/GI/Soup/Structs/Date.hs-boot
--- a/GI/Soup/Structs/Date.hs-boot
+++ b/GI/Soup/Structs/Date.hs-boot
@@ -9,3 +9,17 @@
 
 newtype Date = Date (ForeignPtr Date)
 instance BoxedObject Date where
+data DateCopyMethodInfo
+data DateFreeMethodInfo
+data DateGetDayMethodInfo
+data DateGetHourMethodInfo
+data DateGetMinuteMethodInfo
+data DateGetMonthMethodInfo
+data DateGetOffsetMethodInfo
+data DateGetSecondMethodInfo
+data DateGetUtcMethodInfo
+data DateGetYearMethodInfo
+data DateIsPastMethodInfo
+data DateToStringMethodInfo
+data DateToTimeTMethodInfo
+data DateToTimevalMethodInfo
diff --git a/GI/Soup/Structs/MessageBody.hs b/GI/Soup/Structs/MessageBody.hs
--- a/GI/Soup/Structs/MessageBody.hs
+++ b/GI/Soup/Structs/MessageBody.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -24,39 +25,48 @@
 
 -- * Exported types
     MessageBody(..)                         ,
+    newZeroMessageBody                      ,
     noMessageBody                           ,
 
 
  -- * Methods
 -- ** messageBodyAppend
+    MessageBodyAppendMethodInfo             ,
     messageBodyAppend                       ,
 
 
 -- ** messageBodyAppendBuffer
+    MessageBodyAppendBufferMethodInfo       ,
     messageBodyAppendBuffer                 ,
 
 
 -- ** messageBodyComplete
+    MessageBodyCompleteMethodInfo           ,
     messageBodyComplete                     ,
 
 
 -- ** messageBodyFlatten
+    MessageBodyFlattenMethodInfo            ,
     messageBodyFlatten                      ,
 
 
 -- ** messageBodyFree
+    MessageBodyFreeMethodInfo               ,
     messageBodyFree                         ,
 
 
 -- ** messageBodyGetAccumulate
+    MessageBodyGetAccumulateMethodInfo      ,
     messageBodyGetAccumulate                ,
 
 
 -- ** messageBodyGetChunk
+    MessageBodyGetChunkMethodInfo           ,
     messageBodyGetChunk                     ,
 
 
 -- ** messageBodyGotChunk
+    MessageBodyGotChunkMethodInfo           ,
     messageBodyGotChunk                     ,
 
 
@@ -65,14 +75,17 @@
 
 
 -- ** messageBodySetAccumulate
+    MessageBodySetAccumulateMethodInfo      ,
     messageBodySetAccumulate                ,
 
 
 -- ** messageBodyTruncate
+    MessageBodyTruncateMethodInfo           ,
     messageBodyTruncate                     ,
 
 
 -- ** messageBodyWroteChunk
+    MessageBodyWroteChunkMethodInfo         ,
     messageBodyWroteChunk                   ,
 
 
@@ -108,6 +121,10 @@
 instance BoxedObject MessageBody where
     boxedType _ = c_soup_message_body_get_type
 
+-- | Construct a `MessageBody` struct initialized to zero.
+newZeroMessageBody :: MonadIO m => m MessageBody
+newZeroMessageBody = liftIO $ callocBoxedBytes 16 >>= wrapBoxed MessageBody
+
 noMessageBody :: Maybe MessageBody
 noMessageBody = Nothing
 
@@ -126,7 +143,6 @@
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Soup" "MessageBody"
 -- throws : False
 -- Skip return : False
@@ -137,7 +153,7 @@
 
 messageBodyNew ::
     (MonadIO m) =>
-    m MessageBody
+    m MessageBody                           -- result
 messageBodyNew  = liftIO $ do
     result <- soup_message_body_new
     checkUnexpectedReturnNULL "soup_message_body_new" result
@@ -146,9 +162,8 @@
 
 -- method MessageBody::append_buffer
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -161,9 +176,9 @@
 
 messageBodyAppendBuffer ::
     (MonadIO m) =>
-    MessageBody ->                          -- _obj
-    Buffer ->                               -- buffer
-    m ()
+    MessageBody                             -- _obj
+    -> Buffer                               -- buffer
+    -> m ()                                 -- result
 messageBodyAppendBuffer _obj buffer = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let buffer' = unsafeManagedPtrGetPtr buffer
@@ -172,11 +187,14 @@
     touchManagedPtr buffer
     return ()
 
+data MessageBodyAppendBufferMethodInfo
+instance (signature ~ (Buffer -> m ()), MonadIO m) => MethodInfo MessageBodyAppendBufferMethodInfo MessageBody signature where
+    overloadedMethod _ = messageBodyAppendBuffer
+
 -- method MessageBody::append
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -190,9 +208,9 @@
 
 messageBodyAppend ::
     (MonadIO m) =>
-    MessageBody ->                          -- _obj
-    ByteString ->                           -- data
-    m ()
+    MessageBody                             -- _obj
+    -> ByteString                           -- data_
+    -> m ()                                 -- result
 messageBodyAppend _obj data_ = liftIO $ do
     let length_ = fromIntegral $ B.length data_
     let _obj' = unsafeManagedPtrGetPtr _obj
@@ -201,11 +219,14 @@
     touchManagedPtr _obj
     return ()
 
+data MessageBodyAppendMethodInfo
+instance (signature ~ (ByteString -> m ()), MonadIO m) => MethodInfo MessageBodyAppendMethodInfo MessageBody signature where
+    overloadedMethod _ = messageBodyAppend
+
 -- method MessageBody::complete
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -217,19 +238,22 @@
 
 messageBodyComplete ::
     (MonadIO m) =>
-    MessageBody ->                          -- _obj
-    m ()
+    MessageBody                             -- _obj
+    -> m ()                                 -- result
 messageBodyComplete _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     soup_message_body_complete _obj'
     touchManagedPtr _obj
     return ()
 
+data MessageBodyCompleteMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo MessageBodyCompleteMethodInfo MessageBody signature where
+    overloadedMethod _ = messageBodyComplete
+
 -- method MessageBody::flatten
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Buffer"
 -- throws : False
 -- Skip return : False
@@ -241,8 +265,8 @@
 
 messageBodyFlatten ::
     (MonadIO m) =>
-    MessageBody ->                          -- _obj
-    m Buffer
+    MessageBody                             -- _obj
+    -> m Buffer                             -- result
 messageBodyFlatten _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_message_body_flatten _obj'
@@ -251,11 +275,14 @@
     touchManagedPtr _obj
     return result'
 
+data MessageBodyFlattenMethodInfo
+instance (signature ~ (m Buffer), MonadIO m) => MethodInfo MessageBodyFlattenMethodInfo MessageBody signature where
+    overloadedMethod _ = messageBodyFlatten
+
 -- method MessageBody::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -267,19 +294,22 @@
 
 messageBodyFree ::
     (MonadIO m) =>
-    MessageBody ->                          -- _obj
-    m ()
+    MessageBody                             -- _obj
+    -> m ()                                 -- result
 messageBodyFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     soup_message_body_free _obj'
     touchManagedPtr _obj
     return ()
 
+data MessageBodyFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo MessageBodyFreeMethodInfo MessageBody signature where
+    overloadedMethod _ = messageBodyFree
+
 -- method MessageBody::get_accumulate
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -291,8 +321,8 @@
 
 messageBodyGetAccumulate ::
     (MonadIO m) =>
-    MessageBody ->                          -- _obj
-    m Bool
+    MessageBody                             -- _obj
+    -> m Bool                               -- result
 messageBodyGetAccumulate _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_message_body_get_accumulate _obj'
@@ -300,11 +330,14 @@
     touchManagedPtr _obj
     return result'
 
+data MessageBodyGetAccumulateMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo MessageBodyGetAccumulateMethodInfo MessageBody signature where
+    overloadedMethod _ = messageBodyGetAccumulate
+
 -- method MessageBody::get_chunk
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Buffer"
 -- throws : False
 -- Skip return : False
@@ -317,9 +350,9 @@
 
 messageBodyGetChunk ::
     (MonadIO m) =>
-    MessageBody ->                          -- _obj
-    Int64 ->                                -- offset
-    m Buffer
+    MessageBody                             -- _obj
+    -> Int64                                -- offset
+    -> m Buffer                             -- result
 messageBodyGetChunk _obj offset = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_message_body_get_chunk _obj' offset
@@ -328,11 +361,14 @@
     touchManagedPtr _obj
     return result'
 
+data MessageBodyGetChunkMethodInfo
+instance (signature ~ (Int64 -> m Buffer), MonadIO m) => MethodInfo MessageBodyGetChunkMethodInfo MessageBody signature where
+    overloadedMethod _ = messageBodyGetChunk
+
 -- method MessageBody::got_chunk
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -345,9 +381,9 @@
 
 messageBodyGotChunk ::
     (MonadIO m) =>
-    MessageBody ->                          -- _obj
-    Buffer ->                               -- chunk
-    m ()
+    MessageBody                             -- _obj
+    -> Buffer                               -- chunk
+    -> m ()                                 -- result
 messageBodyGotChunk _obj chunk = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let chunk' = unsafeManagedPtrGetPtr chunk
@@ -356,11 +392,14 @@
     touchManagedPtr chunk
     return ()
 
+data MessageBodyGotChunkMethodInfo
+instance (signature ~ (Buffer -> m ()), MonadIO m) => MethodInfo MessageBodyGotChunkMethodInfo MessageBody signature where
+    overloadedMethod _ = messageBodyGotChunk
+
 -- method MessageBody::set_accumulate
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accumulate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accumulate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accumulate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -373,9 +412,9 @@
 
 messageBodySetAccumulate ::
     (MonadIO m) =>
-    MessageBody ->                          -- _obj
-    Bool ->                                 -- accumulate
-    m ()
+    MessageBody                             -- _obj
+    -> Bool                                 -- accumulate
+    -> m ()                                 -- result
 messageBodySetAccumulate _obj accumulate = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let accumulate' = (fromIntegral . fromEnum) accumulate
@@ -383,11 +422,14 @@
     touchManagedPtr _obj
     return ()
 
+data MessageBodySetAccumulateMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m) => MethodInfo MessageBodySetAccumulateMethodInfo MessageBody signature where
+    overloadedMethod _ = messageBodySetAccumulate
+
 -- method MessageBody::truncate
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -399,19 +441,22 @@
 
 messageBodyTruncate ::
     (MonadIO m) =>
-    MessageBody ->                          -- _obj
-    m ()
+    MessageBody                             -- _obj
+    -> m ()                                 -- result
 messageBodyTruncate _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     soup_message_body_truncate _obj'
     touchManagedPtr _obj
     return ()
 
+data MessageBodyTruncateMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo MessageBodyTruncateMethodInfo MessageBody signature where
+    overloadedMethod _ = messageBodyTruncate
+
 -- method MessageBody::wrote_chunk
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -424,9 +469,9 @@
 
 messageBodyWroteChunk ::
     (MonadIO m) =>
-    MessageBody ->                          -- _obj
-    Buffer ->                               -- chunk
-    m ()
+    MessageBody                             -- _obj
+    -> Buffer                               -- chunk
+    -> m ()                                 -- result
 messageBodyWroteChunk _obj chunk = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let chunk' = unsafeManagedPtrGetPtr chunk
@@ -434,5 +479,31 @@
     touchManagedPtr _obj
     touchManagedPtr chunk
     return ()
+
+data MessageBodyWroteChunkMethodInfo
+instance (signature ~ (Buffer -> m ()), MonadIO m) => MethodInfo MessageBodyWroteChunkMethodInfo MessageBody signature where
+    overloadedMethod _ = messageBodyWroteChunk
+
+type family ResolveMessageBodyMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMessageBodyMethod "appendBuffer" o = MessageBodyAppendBufferMethodInfo
+    ResolveMessageBodyMethod "append" o = MessageBodyAppendMethodInfo
+    ResolveMessageBodyMethod "complete" o = MessageBodyCompleteMethodInfo
+    ResolveMessageBodyMethod "flatten" o = MessageBodyFlattenMethodInfo
+    ResolveMessageBodyMethod "free" o = MessageBodyFreeMethodInfo
+    ResolveMessageBodyMethod "gotChunk" o = MessageBodyGotChunkMethodInfo
+    ResolveMessageBodyMethod "truncate" o = MessageBodyTruncateMethodInfo
+    ResolveMessageBodyMethod "wroteChunk" o = MessageBodyWroteChunkMethodInfo
+    ResolveMessageBodyMethod "getAccumulate" o = MessageBodyGetAccumulateMethodInfo
+    ResolveMessageBodyMethod "getChunk" o = MessageBodyGetChunkMethodInfo
+    ResolveMessageBodyMethod "setAccumulate" o = MessageBodySetAccumulateMethodInfo
+    ResolveMessageBodyMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveMessageBodyMethod t MessageBody, MethodInfo info MessageBody p) => IsLabelProxy t (MessageBody -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveMessageBodyMethod t MessageBody, MethodInfo info MessageBody p) => IsLabel t (MessageBody -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Soup/Structs/MessageBody.hs-boot b/GI/Soup/Structs/MessageBody.hs-boot
--- a/GI/Soup/Structs/MessageBody.hs-boot
+++ b/GI/Soup/Structs/MessageBody.hs-boot
@@ -9,3 +9,14 @@
 
 newtype MessageBody = MessageBody (ForeignPtr MessageBody)
 instance BoxedObject MessageBody where
+data MessageBodyAppendBufferMethodInfo
+data MessageBodyAppendMethodInfo
+data MessageBodyCompleteMethodInfo
+data MessageBodyFlattenMethodInfo
+data MessageBodyFreeMethodInfo
+data MessageBodyGetAccumulateMethodInfo
+data MessageBodyGetChunkMethodInfo
+data MessageBodyGotChunkMethodInfo
+data MessageBodySetAccumulateMethodInfo
+data MessageBodyTruncateMethodInfo
+data MessageBodyWroteChunkMethodInfo
diff --git a/GI/Soup/Structs/MessageHeaders.hs b/GI/Soup/Structs/MessageHeaders.hs
--- a/GI/Soup/Structs/MessageHeaders.hs
+++ b/GI/Soup/Structs/MessageHeaders.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
 -- ** messageHeadersAppend
+    MessageHeadersAppendMethodInfo          ,
     messageHeadersAppend                    ,
 
 
 -- ** messageHeadersCleanConnectionHeaders
+    MessageHeadersCleanConnectionHeadersMethodInfo,
     messageHeadersCleanConnectionHeaders    ,
 
 
 -- ** messageHeadersClear
+    MessageHeadersClearMethodInfo           ,
     messageHeadersClear                     ,
 
 
 -- ** messageHeadersForeach
+    MessageHeadersForeachMethodInfo         ,
     messageHeadersForeach                   ,
 
 
 -- ** messageHeadersFree
+    MessageHeadersFreeMethodInfo            ,
     messageHeadersFree                      ,
 
 
 -- ** messageHeadersFreeRanges
+    MessageHeadersFreeRangesMethodInfo      ,
     messageHeadersFreeRanges                ,
 
 
 -- ** messageHeadersGet
+    MessageHeadersGetMethodInfo             ,
     messageHeadersGet                       ,
 
 
 -- ** messageHeadersGetContentDisposition
+    MessageHeadersGetContentDispositionMethodInfo,
     messageHeadersGetContentDisposition     ,
 
 
 -- ** messageHeadersGetContentLength
+    MessageHeadersGetContentLengthMethodInfo,
     messageHeadersGetContentLength          ,
 
 
 -- ** messageHeadersGetContentRange
+    MessageHeadersGetContentRangeMethodInfo ,
     messageHeadersGetContentRange           ,
 
 
 -- ** messageHeadersGetContentType
+    MessageHeadersGetContentTypeMethodInfo  ,
     messageHeadersGetContentType            ,
 
 
 -- ** messageHeadersGetEncoding
+    MessageHeadersGetEncodingMethodInfo     ,
     messageHeadersGetEncoding               ,
 
 
 -- ** messageHeadersGetExpectations
+    MessageHeadersGetExpectationsMethodInfo ,
     messageHeadersGetExpectations           ,
 
 
 -- ** messageHeadersGetHeadersType
+    MessageHeadersGetHeadersTypeMethodInfo  ,
     messageHeadersGetHeadersType            ,
 
 
 -- ** messageHeadersGetList
+    MessageHeadersGetListMethodInfo         ,
     messageHeadersGetList                   ,
 
 
 -- ** messageHeadersGetOne
+    MessageHeadersGetOneMethodInfo          ,
     messageHeadersGetOne                    ,
 
 
 -- ** messageHeadersGetRanges
+    MessageHeadersGetRangesMethodInfo       ,
     messageHeadersGetRanges                 ,
 
 
 -- ** messageHeadersHeaderContains
+    MessageHeadersHeaderContainsMethodInfo  ,
     messageHeadersHeaderContains            ,
 
 
 -- ** messageHeadersHeaderEquals
+    MessageHeadersHeaderEqualsMethodInfo    ,
     messageHeadersHeaderEquals              ,
 
 
@@ -97,42 +117,52 @@
 
 
 -- ** messageHeadersRemove
+    MessageHeadersRemoveMethodInfo          ,
     messageHeadersRemove                    ,
 
 
 -- ** messageHeadersReplace
+    MessageHeadersReplaceMethodInfo         ,
     messageHeadersReplace                   ,
 
 
 -- ** messageHeadersSetContentDisposition
+    MessageHeadersSetContentDispositionMethodInfo,
     messageHeadersSetContentDisposition     ,
 
 
 -- ** messageHeadersSetContentLength
+    MessageHeadersSetContentLengthMethodInfo,
     messageHeadersSetContentLength          ,
 
 
 -- ** messageHeadersSetContentRange
+    MessageHeadersSetContentRangeMethodInfo ,
     messageHeadersSetContentRange           ,
 
 
 -- ** messageHeadersSetContentType
+    MessageHeadersSetContentTypeMethodInfo  ,
     messageHeadersSetContentType            ,
 
 
 -- ** messageHeadersSetEncoding
+    MessageHeadersSetEncodingMethodInfo     ,
     messageHeadersSetEncoding               ,
 
 
 -- ** messageHeadersSetExpectations
+    MessageHeadersSetExpectationsMethodInfo ,
     messageHeadersSetExpectations           ,
 
 
 -- ** messageHeadersSetRange
+    MessageHeadersSetRangeMethodInfo        ,
     messageHeadersSetRange                  ,
 
 
 -- ** messageHeadersSetRanges
+    MessageHeadersSetRangesMethodInfo       ,
     messageHeadersSetRanges                 ,
 
 
@@ -162,9 +192,8 @@
 
 -- method MessageHeaders::new
 -- method type : Constructor
--- Args : [Arg {argName = "type", argType = TInterface "Soup" "MessageHeadersType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "type", argType = TInterface "Soup" "MessageHeadersType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "type", argType = TInterface "Soup" "MessageHeadersType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "MessageHeaders"
 -- throws : False
 -- Skip return : False
@@ -176,8 +205,8 @@
 
 messageHeadersNew ::
     (MonadIO m) =>
-    MessageHeadersType ->                   -- type
-    m MessageHeaders
+    MessageHeadersType                      -- type_
+    -> m MessageHeaders                     -- result
 messageHeadersNew type_ = liftIO $ do
     let type_' = (fromIntegral . fromEnum) type_
     result <- soup_message_headers_new type_'
@@ -187,9 +216,8 @@
 
 -- method MessageHeaders::append
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -203,10 +231,10 @@
 
 messageHeadersAppend ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    T.Text ->                               -- name
-    T.Text ->                               -- value
-    m ()
+    MessageHeaders                          -- _obj
+    -> T.Text                               -- name
+    -> T.Text                               -- value
+    -> m ()                                 -- result
 messageHeadersAppend _obj name value = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     name' <- textToCString name
@@ -217,11 +245,14 @@
     freeMem value'
     return ()
 
+data MessageHeadersAppendMethodInfo
+instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m) => MethodInfo MessageHeadersAppendMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersAppend
+
 -- method MessageHeaders::clean_connection_headers
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -233,19 +264,22 @@
 
 messageHeadersCleanConnectionHeaders ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    m ()
+    MessageHeaders                          -- _obj
+    -> m ()                                 -- result
 messageHeadersCleanConnectionHeaders _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     soup_message_headers_clean_connection_headers _obj'
     touchManagedPtr _obj
     return ()
 
+data MessageHeadersCleanConnectionHeadersMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo MessageHeadersCleanConnectionHeadersMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersCleanConnectionHeaders
+
 -- method MessageHeaders::clear
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -257,19 +291,22 @@
 
 messageHeadersClear ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    m ()
+    MessageHeaders                          -- _obj
+    -> m ()                                 -- result
 messageHeadersClear _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     soup_message_headers_clear _obj'
     touchManagedPtr _obj
     return ()
 
+data MessageHeadersClearMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo MessageHeadersClearMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersClear
+
 -- method MessageHeaders::foreach
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Soup" "MessageHeadersForeachFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface "Soup" "MessageHeadersForeachFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_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 "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Soup" "MessageHeadersForeachFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -283,23 +320,26 @@
 
 messageHeadersForeach ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    MessageHeadersForeachFunc ->            -- func
-    m ()
+    MessageHeaders                          -- _obj
+    -> MessageHeadersForeachFunc            -- func
+    -> m ()                                 -- result
 messageHeadersForeach _obj func = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     func' <- mkMessageHeadersForeachFunc (messageHeadersForeachFuncWrapper Nothing func)
-    let user_data = nullPtr
-    soup_message_headers_foreach _obj' func' user_data
+    let userData = nullPtr
+    soup_message_headers_foreach _obj' func' userData
     safeFreeFunPtr $ castFunPtrToPtr func'
     touchManagedPtr _obj
     return ()
 
+data MessageHeadersForeachMethodInfo
+instance (signature ~ (MessageHeadersForeachFunc -> m ()), MonadIO m) => MethodInfo MessageHeadersForeachMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersForeach
+
 -- method MessageHeaders::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -311,19 +351,22 @@
 
 messageHeadersFree ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    m ()
+    MessageHeaders                          -- _obj
+    -> m ()                                 -- result
 messageHeadersFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     soup_message_headers_free _obj'
     touchManagedPtr _obj
     return ()
 
+data MessageHeadersFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo MessageHeadersFreeMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersFree
+
 -- method MessageHeaders::free_ranges
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ranges", argType = TInterface "Soup" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ranges", argType = TInterface "Soup" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ranges", argType = TInterface "Soup" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -336,9 +379,9 @@
 
 messageHeadersFreeRanges ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    Range ->                                -- ranges
-    m ()
+    MessageHeaders                          -- _obj
+    -> Range                                -- ranges
+    -> m ()                                 -- result
 messageHeadersFreeRanges _obj ranges = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let ranges' = unsafeManagedPtrGetPtr ranges
@@ -347,11 +390,14 @@
     touchManagedPtr ranges
     return ()
 
+data MessageHeadersFreeRangesMethodInfo
+instance (signature ~ (Range -> m ()), MonadIO m) => MethodInfo MessageHeadersFreeRangesMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersFreeRanges
+
 -- method MessageHeaders::get
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -364,9 +410,9 @@
 {-# DEPRECATED messageHeadersGet ["Use soup_message_headers_get_one() or","soup_message_headers_get_list() instead."]#-}
 messageHeadersGet ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    T.Text ->                               -- name
-    m T.Text
+    MessageHeaders                          -- _obj
+    -> T.Text                               -- name
+    -> m T.Text                             -- result
 messageHeadersGet _obj name = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     name' <- textToCString name
@@ -377,11 +423,14 @@
     freeMem name'
     return result'
 
+data MessageHeadersGetMethodInfo
+instance (signature ~ (T.Text -> m T.Text), MonadIO m) => MethodInfo MessageHeadersGetMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersGet
+
 -- method MessageHeaders::get_content_disposition
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "disposition", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "disposition", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -395,8 +444,8 @@
 
 messageHeadersGetContentDisposition ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    m (Bool,T.Text,(Map.Map T.Text T.Text))
+    MessageHeaders                          -- _obj
+    -> m (Bool,T.Text,(Map.Map T.Text T.Text))-- result
 messageHeadersGetContentDisposition _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     disposition <- allocMem :: IO (Ptr CString)
@@ -419,11 +468,14 @@
     freeMem params
     return (result', disposition'', params''''''')
 
+data MessageHeadersGetContentDispositionMethodInfo
+instance (signature ~ (m (Bool,T.Text,(Map.Map T.Text T.Text))), MonadIO m) => MethodInfo MessageHeadersGetContentDispositionMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersGetContentDisposition
+
 -- method MessageHeaders::get_content_length
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt64
 -- throws : False
 -- Skip return : False
@@ -435,19 +487,22 @@
 
 messageHeadersGetContentLength ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    m Int64
+    MessageHeaders                          -- _obj
+    -> m Int64                              -- result
 messageHeadersGetContentLength _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_message_headers_get_content_length _obj'
     touchManagedPtr _obj
     return result
 
+data MessageHeadersGetContentLengthMethodInfo
+instance (signature ~ (m Int64), MonadIO m) => MethodInfo MessageHeadersGetContentLengthMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersGetContentLength
+
 -- method MessageHeaders::get_content_range
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "total_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "total_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "total_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -462,23 +517,26 @@
 
 messageHeadersGetContentRange ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    Int64 ->                                -- start
-    Int64 ->                                -- end
-    Int64 ->                                -- total_length
-    m Bool
-messageHeadersGetContentRange _obj start end total_length = liftIO $ do
+    MessageHeaders                          -- _obj
+    -> Int64                                -- start
+    -> Int64                                -- end
+    -> Int64                                -- totalLength
+    -> m Bool                               -- result
+messageHeadersGetContentRange _obj start end totalLength = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- soup_message_headers_get_content_range _obj' start end total_length
+    result <- soup_message_headers_get_content_range _obj' start end totalLength
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
 
+data MessageHeadersGetContentRangeMethodInfo
+instance (signature ~ (Int64 -> Int64 -> Int64 -> m Bool), MonadIO m) => MethodInfo MessageHeadersGetContentRangeMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersGetContentRange
+
 -- method MessageHeaders::get_content_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -491,8 +549,8 @@
 
 messageHeadersGetContentType ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    m (T.Text,(Map.Map T.Text T.Text))
+    MessageHeaders                          -- _obj
+    -> m (T.Text,(Map.Map T.Text T.Text))   -- result
 messageHeadersGetContentType _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     params <- allocMem :: IO (Ptr (Ptr (GHashTable CString CString)))
@@ -511,11 +569,14 @@
     freeMem params
     return (result', params''''''')
 
+data MessageHeadersGetContentTypeMethodInfo
+instance (signature ~ (m (T.Text,(Map.Map T.Text T.Text))), MonadIO m) => MethodInfo MessageHeadersGetContentTypeMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersGetContentType
+
 -- method MessageHeaders::get_encoding
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Encoding"
 -- throws : False
 -- Skip return : False
@@ -527,8 +588,8 @@
 
 messageHeadersGetEncoding ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    m Encoding
+    MessageHeaders                          -- _obj
+    -> m Encoding                           -- result
 messageHeadersGetEncoding _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_message_headers_get_encoding _obj'
@@ -536,11 +597,14 @@
     touchManagedPtr _obj
     return result'
 
+data MessageHeadersGetEncodingMethodInfo
+instance (signature ~ (m Encoding), MonadIO m) => MethodInfo MessageHeadersGetEncodingMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersGetEncoding
+
 -- method MessageHeaders::get_expectations
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Expectation"
 -- throws : False
 -- Skip return : False
@@ -552,8 +616,8 @@
 
 messageHeadersGetExpectations ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    m [Expectation]
+    MessageHeaders                          -- _obj
+    -> m [Expectation]                      -- result
 messageHeadersGetExpectations _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_message_headers_get_expectations _obj'
@@ -561,11 +625,14 @@
     touchManagedPtr _obj
     return result'
 
+data MessageHeadersGetExpectationsMethodInfo
+instance (signature ~ (m [Expectation]), MonadIO m) => MethodInfo MessageHeadersGetExpectationsMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersGetExpectations
+
 -- method MessageHeaders::get_headers_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "MessageHeadersType"
 -- throws : False
 -- Skip return : False
@@ -577,8 +644,8 @@
 
 messageHeadersGetHeadersType ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    m MessageHeadersType
+    MessageHeaders                          -- _obj
+    -> m MessageHeadersType                 -- result
 messageHeadersGetHeadersType _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_message_headers_get_headers_type _obj'
@@ -586,11 +653,14 @@
     touchManagedPtr _obj
     return result'
 
+data MessageHeadersGetHeadersTypeMethodInfo
+instance (signature ~ (m MessageHeadersType), MonadIO m) => MethodInfo MessageHeadersGetHeadersTypeMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersGetHeadersType
+
 -- method MessageHeaders::get_list
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -603,9 +673,9 @@
 
 messageHeadersGetList ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    T.Text ->                               -- name
-    m T.Text
+    MessageHeaders                          -- _obj
+    -> T.Text                               -- name
+    -> m T.Text                             -- result
 messageHeadersGetList _obj name = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     name' <- textToCString name
@@ -616,11 +686,14 @@
     freeMem name'
     return result'
 
+data MessageHeadersGetListMethodInfo
+instance (signature ~ (T.Text -> m T.Text), MonadIO m) => MethodInfo MessageHeadersGetListMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersGetList
+
 -- method MessageHeaders::get_one
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -633,9 +706,9 @@
 
 messageHeadersGetOne ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    T.Text ->                               -- name
-    m T.Text
+    MessageHeaders                          -- _obj
+    -> T.Text                               -- name
+    -> m T.Text                             -- result
 messageHeadersGetOne _obj name = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     name' <- textToCString name
@@ -646,11 +719,14 @@
     freeMem name'
     return result'
 
+data MessageHeadersGetOneMethodInfo
+instance (signature ~ (T.Text -> m T.Text), MonadIO m) => MethodInfo MessageHeadersGetOneMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersGetOne
+
 -- method MessageHeaders::get_ranges
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "total_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ranges", argType = TCArray False (-1) 3 (TInterface "Soup" "Range"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "total_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "total_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ranges", argType = TCArray False (-1) 3 (TInterface "Soup" "Range"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "length", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "length", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -665,14 +741,14 @@
 
 messageHeadersGetRanges ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    Int64 ->                                -- total_length
-    m (Bool,[Range])
-messageHeadersGetRanges _obj total_length = liftIO $ do
+    MessageHeaders                          -- _obj
+    -> Int64                                -- totalLength
+    -> m (Bool,[Range])                     -- result
+messageHeadersGetRanges _obj totalLength = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     ranges <- allocMem :: IO (Ptr (Ptr Range))
     length_ <- allocMem :: IO (Ptr Int32)
-    result <- soup_message_headers_get_ranges _obj' total_length ranges length_
+    result <- soup_message_headers_get_ranges _obj' totalLength ranges length_
     length_' <- peek length_
     let result' = (/= 0) result
     ranges' <- peek ranges
@@ -684,11 +760,14 @@
     freeMem length_
     return (result', ranges''')
 
+data MessageHeadersGetRangesMethodInfo
+instance (signature ~ (Int64 -> m (Bool,[Range])), MonadIO m) => MethodInfo MessageHeadersGetRangesMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersGetRanges
+
 -- method MessageHeaders::header_contains
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "token", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "token", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "token", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -702,10 +781,10 @@
 
 messageHeadersHeaderContains ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    T.Text ->                               -- name
-    T.Text ->                               -- token
-    m Bool
+    MessageHeaders                          -- _obj
+    -> T.Text                               -- name
+    -> T.Text                               -- token
+    -> m Bool                               -- result
 messageHeadersHeaderContains _obj name token = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     name' <- textToCString name
@@ -717,11 +796,14 @@
     freeMem token'
     return result'
 
+data MessageHeadersHeaderContainsMethodInfo
+instance (signature ~ (T.Text -> T.Text -> m Bool), MonadIO m) => MethodInfo MessageHeadersHeaderContainsMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersHeaderContains
+
 -- method MessageHeaders::header_equals
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -735,10 +817,10 @@
 
 messageHeadersHeaderEquals ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    T.Text ->                               -- name
-    T.Text ->                               -- value
-    m Bool
+    MessageHeaders                          -- _obj
+    -> T.Text                               -- name
+    -> T.Text                               -- value
+    -> m Bool                               -- result
 messageHeadersHeaderEquals _obj name value = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     name' <- textToCString name
@@ -750,11 +832,14 @@
     freeMem value'
     return result'
 
+data MessageHeadersHeaderEqualsMethodInfo
+instance (signature ~ (T.Text -> T.Text -> m Bool), MonadIO m) => MethodInfo MessageHeadersHeaderEqualsMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersHeaderEquals
+
 -- method MessageHeaders::remove
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -767,9 +852,9 @@
 
 messageHeadersRemove ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    T.Text ->                               -- name
-    m ()
+    MessageHeaders                          -- _obj
+    -> T.Text                               -- name
+    -> m ()                                 -- result
 messageHeadersRemove _obj name = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     name' <- textToCString name
@@ -778,11 +863,14 @@
     freeMem name'
     return ()
 
+data MessageHeadersRemoveMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m) => MethodInfo MessageHeadersRemoveMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersRemove
+
 -- method MessageHeaders::replace
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -796,10 +884,10 @@
 
 messageHeadersReplace ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    T.Text ->                               -- name
-    T.Text ->                               -- value
-    m ()
+    MessageHeaders                          -- _obj
+    -> T.Text                               -- name
+    -> T.Text                               -- value
+    -> m ()                                 -- result
 messageHeadersReplace _obj name value = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     name' <- textToCString name
@@ -810,11 +898,14 @@
     freeMem value'
     return ()
 
+data MessageHeadersReplaceMethodInfo
+instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m) => MethodInfo MessageHeadersReplaceMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersReplace
+
 -- method MessageHeaders::set_content_disposition
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "disposition", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "disposition", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "disposition", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -828,10 +919,10 @@
 
 messageHeadersSetContentDisposition ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    T.Text ->                               -- disposition
-    Maybe (Map.Map T.Text T.Text) ->        -- params
-    m ()
+    MessageHeaders                          -- _obj
+    -> T.Text                               -- disposition
+    -> Maybe (Map.Map T.Text T.Text)        -- params
+    -> m ()                                 -- result
 messageHeadersSetContentDisposition _obj disposition params = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     disposition' <- textToCString disposition
@@ -851,11 +942,14 @@
     unrefGHashTable maybeParams
     return ()
 
+data MessageHeadersSetContentDispositionMethodInfo
+instance (signature ~ (T.Text -> Maybe (Map.Map T.Text T.Text) -> m ()), MonadIO m) => MethodInfo MessageHeadersSetContentDispositionMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersSetContentDisposition
+
 -- method MessageHeaders::set_content_length
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -868,20 +962,23 @@
 
 messageHeadersSetContentLength ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    Int64 ->                                -- content_length
-    m ()
-messageHeadersSetContentLength _obj content_length = liftIO $ do
+    MessageHeaders                          -- _obj
+    -> Int64                                -- contentLength
+    -> m ()                                 -- result
+messageHeadersSetContentLength _obj contentLength = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    soup_message_headers_set_content_length _obj' content_length
+    soup_message_headers_set_content_length _obj' contentLength
     touchManagedPtr _obj
     return ()
 
+data MessageHeadersSetContentLengthMethodInfo
+instance (signature ~ (Int64 -> m ()), MonadIO m) => MethodInfo MessageHeadersSetContentLengthMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersSetContentLength
+
 -- method MessageHeaders::set_content_range
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "total_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "total_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "total_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -896,22 +993,25 @@
 
 messageHeadersSetContentRange ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    Int64 ->                                -- start
-    Int64 ->                                -- end
-    Int64 ->                                -- total_length
-    m ()
-messageHeadersSetContentRange _obj start end total_length = liftIO $ do
+    MessageHeaders                          -- _obj
+    -> Int64                                -- start
+    -> Int64                                -- end
+    -> Int64                                -- totalLength
+    -> m ()                                 -- result
+messageHeadersSetContentRange _obj start end totalLength = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    soup_message_headers_set_content_range _obj' start end total_length
+    soup_message_headers_set_content_range _obj' start end totalLength
     touchManagedPtr _obj
     return ()
 
+data MessageHeadersSetContentRangeMethodInfo
+instance (signature ~ (Int64 -> Int64 -> Int64 -> m ()), MonadIO m) => MethodInfo MessageHeadersSetContentRangeMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersSetContentRange
+
 -- method MessageHeaders::set_content_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -925,13 +1025,13 @@
 
 messageHeadersSetContentType ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    T.Text ->                               -- content_type
-    Maybe (Map.Map T.Text T.Text) ->        -- params
-    m ()
-messageHeadersSetContentType _obj content_type params = liftIO $ do
+    MessageHeaders                          -- _obj
+    -> T.Text                               -- contentType
+    -> Maybe (Map.Map T.Text T.Text)        -- params
+    -> m ()                                 -- result
+messageHeadersSetContentType _obj contentType params = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    content_type' <- textToCString content_type
+    contentType' <- textToCString contentType
     maybeParams <- case params of
         Nothing -> return nullPtr
         Just jParams -> do
@@ -942,17 +1042,20 @@
             let jParams''''' = mapSecond cstringPackPtr jParams''''
             jParams'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) jParams'''''
             return jParams''''''
-    soup_message_headers_set_content_type _obj' content_type' maybeParams
+    soup_message_headers_set_content_type _obj' contentType' maybeParams
     touchManagedPtr _obj
-    freeMem content_type'
+    freeMem contentType'
     unrefGHashTable maybeParams
     return ()
 
+data MessageHeadersSetContentTypeMethodInfo
+instance (signature ~ (T.Text -> Maybe (Map.Map T.Text T.Text) -> m ()), MonadIO m) => MethodInfo MessageHeadersSetContentTypeMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersSetContentType
+
 -- method MessageHeaders::set_encoding
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "encoding", argType = TInterface "Soup" "Encoding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "encoding", argType = TInterface "Soup" "Encoding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "encoding", argType = TInterface "Soup" "Encoding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -965,9 +1068,9 @@
 
 messageHeadersSetEncoding ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    Encoding ->                             -- encoding
-    m ()
+    MessageHeaders                          -- _obj
+    -> Encoding                             -- encoding
+    -> m ()                                 -- result
 messageHeadersSetEncoding _obj encoding = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let encoding' = (fromIntegral . fromEnum) encoding
@@ -975,11 +1078,14 @@
     touchManagedPtr _obj
     return ()
 
+data MessageHeadersSetEncodingMethodInfo
+instance (signature ~ (Encoding -> m ()), MonadIO m) => MethodInfo MessageHeadersSetEncodingMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersSetEncoding
+
 -- method MessageHeaders::set_expectations
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expectations", argType = TInterface "Soup" "Expectation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expectations", argType = TInterface "Soup" "Expectation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expectations", argType = TInterface "Soup" "Expectation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -992,9 +1098,9 @@
 
 messageHeadersSetExpectations ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    [Expectation] ->                        -- expectations
-    m ()
+    MessageHeaders                          -- _obj
+    -> [Expectation]                        -- expectations
+    -> m ()                                 -- result
 messageHeadersSetExpectations _obj expectations = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let expectations' = gflagsToWord expectations
@@ -1002,11 +1108,14 @@
     touchManagedPtr _obj
     return ()
 
+data MessageHeadersSetExpectationsMethodInfo
+instance (signature ~ ([Expectation] -> m ()), MonadIO m) => MethodInfo MessageHeadersSetExpectationsMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersSetExpectations
+
 -- method MessageHeaders::set_range
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1020,21 +1129,24 @@
 
 messageHeadersSetRange ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    Int64 ->                                -- start
-    Int64 ->                                -- end
-    m ()
+    MessageHeaders                          -- _obj
+    -> Int64                                -- start
+    -> Int64                                -- end
+    -> m ()                                 -- result
 messageHeadersSetRange _obj start end = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     soup_message_headers_set_range _obj' start end
     touchManagedPtr _obj
     return ()
 
+data MessageHeadersSetRangeMethodInfo
+instance (signature ~ (Int64 -> Int64 -> m ()), MonadIO m) => MethodInfo MessageHeadersSetRangeMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersSetRange
+
 -- method MessageHeaders::set_ranges
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ranges", argType = TInterface "Soup" "Range", 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 "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ranges", argType = TInterface "Soup" "Range", 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 "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ranges", argType = TInterface "Soup" "Range", 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
@@ -1048,10 +1160,10 @@
 
 messageHeadersSetRanges ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- _obj
-    Range ->                                -- ranges
-    Int32 ->                                -- length
-    m ()
+    MessageHeaders                          -- _obj
+    -> Range                                -- ranges
+    -> Int32                                -- length_
+    -> m ()                                 -- result
 messageHeadersSetRanges _obj ranges length_ = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let ranges' = unsafeManagedPtrGetPtr ranges
@@ -1059,5 +1171,49 @@
     touchManagedPtr _obj
     touchManagedPtr ranges
     return ()
+
+data MessageHeadersSetRangesMethodInfo
+instance (signature ~ (Range -> Int32 -> m ()), MonadIO m) => MethodInfo MessageHeadersSetRangesMethodInfo MessageHeaders signature where
+    overloadedMethod _ = messageHeadersSetRanges
+
+type family ResolveMessageHeadersMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMessageHeadersMethod "append" o = MessageHeadersAppendMethodInfo
+    ResolveMessageHeadersMethod "cleanConnectionHeaders" o = MessageHeadersCleanConnectionHeadersMethodInfo
+    ResolveMessageHeadersMethod "clear" o = MessageHeadersClearMethodInfo
+    ResolveMessageHeadersMethod "foreach" o = MessageHeadersForeachMethodInfo
+    ResolveMessageHeadersMethod "free" o = MessageHeadersFreeMethodInfo
+    ResolveMessageHeadersMethod "freeRanges" o = MessageHeadersFreeRangesMethodInfo
+    ResolveMessageHeadersMethod "get" o = MessageHeadersGetMethodInfo
+    ResolveMessageHeadersMethod "headerContains" o = MessageHeadersHeaderContainsMethodInfo
+    ResolveMessageHeadersMethod "headerEquals" o = MessageHeadersHeaderEqualsMethodInfo
+    ResolveMessageHeadersMethod "remove" o = MessageHeadersRemoveMethodInfo
+    ResolveMessageHeadersMethod "replace" o = MessageHeadersReplaceMethodInfo
+    ResolveMessageHeadersMethod "getContentDisposition" o = MessageHeadersGetContentDispositionMethodInfo
+    ResolveMessageHeadersMethod "getContentLength" o = MessageHeadersGetContentLengthMethodInfo
+    ResolveMessageHeadersMethod "getContentRange" o = MessageHeadersGetContentRangeMethodInfo
+    ResolveMessageHeadersMethod "getContentType" o = MessageHeadersGetContentTypeMethodInfo
+    ResolveMessageHeadersMethod "getEncoding" o = MessageHeadersGetEncodingMethodInfo
+    ResolveMessageHeadersMethod "getExpectations" o = MessageHeadersGetExpectationsMethodInfo
+    ResolveMessageHeadersMethod "getHeadersType" o = MessageHeadersGetHeadersTypeMethodInfo
+    ResolveMessageHeadersMethod "getList" o = MessageHeadersGetListMethodInfo
+    ResolveMessageHeadersMethod "getOne" o = MessageHeadersGetOneMethodInfo
+    ResolveMessageHeadersMethod "getRanges" o = MessageHeadersGetRangesMethodInfo
+    ResolveMessageHeadersMethod "setContentDisposition" o = MessageHeadersSetContentDispositionMethodInfo
+    ResolveMessageHeadersMethod "setContentLength" o = MessageHeadersSetContentLengthMethodInfo
+    ResolveMessageHeadersMethod "setContentRange" o = MessageHeadersSetContentRangeMethodInfo
+    ResolveMessageHeadersMethod "setContentType" o = MessageHeadersSetContentTypeMethodInfo
+    ResolveMessageHeadersMethod "setEncoding" o = MessageHeadersSetEncodingMethodInfo
+    ResolveMessageHeadersMethod "setExpectations" o = MessageHeadersSetExpectationsMethodInfo
+    ResolveMessageHeadersMethod "setRange" o = MessageHeadersSetRangeMethodInfo
+    ResolveMessageHeadersMethod "setRanges" o = MessageHeadersSetRangesMethodInfo
+    ResolveMessageHeadersMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveMessageHeadersMethod t MessageHeaders, MethodInfo info MessageHeaders p) => IsLabelProxy t (MessageHeaders -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveMessageHeadersMethod t MessageHeaders, MethodInfo info MessageHeaders p) => IsLabel t (MessageHeaders -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Soup/Structs/MessageHeaders.hs-boot b/GI/Soup/Structs/MessageHeaders.hs-boot
--- a/GI/Soup/Structs/MessageHeaders.hs-boot
+++ b/GI/Soup/Structs/MessageHeaders.hs-boot
@@ -9,3 +9,32 @@
 
 newtype MessageHeaders = MessageHeaders (ForeignPtr MessageHeaders)
 instance BoxedObject MessageHeaders where
+data MessageHeadersAppendMethodInfo
+data MessageHeadersCleanConnectionHeadersMethodInfo
+data MessageHeadersClearMethodInfo
+data MessageHeadersForeachMethodInfo
+data MessageHeadersFreeMethodInfo
+data MessageHeadersFreeRangesMethodInfo
+data MessageHeadersGetMethodInfo
+data MessageHeadersGetContentDispositionMethodInfo
+data MessageHeadersGetContentLengthMethodInfo
+data MessageHeadersGetContentRangeMethodInfo
+data MessageHeadersGetContentTypeMethodInfo
+data MessageHeadersGetEncodingMethodInfo
+data MessageHeadersGetExpectationsMethodInfo
+data MessageHeadersGetHeadersTypeMethodInfo
+data MessageHeadersGetListMethodInfo
+data MessageHeadersGetOneMethodInfo
+data MessageHeadersGetRangesMethodInfo
+data MessageHeadersHeaderContainsMethodInfo
+data MessageHeadersHeaderEqualsMethodInfo
+data MessageHeadersRemoveMethodInfo
+data MessageHeadersReplaceMethodInfo
+data MessageHeadersSetContentDispositionMethodInfo
+data MessageHeadersSetContentLengthMethodInfo
+data MessageHeadersSetContentRangeMethodInfo
+data MessageHeadersSetContentTypeMethodInfo
+data MessageHeadersSetEncodingMethodInfo
+data MessageHeadersSetExpectationsMethodInfo
+data MessageHeadersSetRangeMethodInfo
+data MessageHeadersSetRangesMethodInfo
diff --git a/GI/Soup/Structs/MessageHeadersIter.hs b/GI/Soup/Structs/MessageHeadersIter.hs
--- a/GI/Soup/Structs/MessageHeadersIter.hs
+++ b/GI/Soup/Structs/MessageHeadersIter.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -19,11 +20,17 @@
 
 -- * Exported types
     MessageHeadersIter(..)                  ,
+    newZeroMessageHeadersIter               ,
     noMessageHeadersIter                    ,
 
 
  -- * Methods
+-- ** messageHeadersIterInit
+    messageHeadersIterInit                  ,
+
+
 -- ** messageHeadersIterNext
+    MessageHeadersIterNextMethodInfo        ,
     messageHeadersIterNext                  ,
 
 
@@ -42,14 +49,17 @@
 import GI.Soup.Callbacks
 
 newtype MessageHeadersIter = MessageHeadersIter (ForeignPtr MessageHeadersIter)
+-- | Construct a `MessageHeadersIter` struct initialized to zero.
+newZeroMessageHeadersIter :: MonadIO m => m MessageHeadersIter
+newZeroMessageHeadersIter = liftIO $ callocBytes 24 >>= wrapPtr MessageHeadersIter
+
 noMessageHeadersIter :: Maybe MessageHeadersIter
 noMessageHeadersIter = Nothing
 
 -- method MessageHeadersIter::next
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeadersIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "MessageHeadersIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeadersIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -63,8 +73,8 @@
 
 messageHeadersIterNext ::
     (MonadIO m) =>
-    MessageHeadersIter ->                   -- _obj
-    m (Bool,T.Text,T.Text)
+    MessageHeadersIter                      -- _obj
+    -> m (Bool,T.Text,T.Text)               -- result
 messageHeadersIterNext _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     name <- allocMem :: IO (Ptr CString)
@@ -79,5 +89,47 @@
     freeMem name
     freeMem value
     return (result', name'', value'')
+
+data MessageHeadersIterNextMethodInfo
+instance (signature ~ (m (Bool,T.Text,T.Text)), MonadIO m) => MethodInfo MessageHeadersIterNextMethodInfo MessageHeadersIter signature where
+    overloadedMethod _ = messageHeadersIterNext
+
+-- method MessageHeadersIter::init
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "iter", argType = TInterface "Soup" "MessageHeadersIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "hdrs", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_message_headers_iter_init" soup_message_headers_iter_init :: 
+    Ptr MessageHeadersIter ->               -- iter : TInterface "Soup" "MessageHeadersIter"
+    Ptr MessageHeaders ->                   -- hdrs : TInterface "Soup" "MessageHeaders"
+    IO ()
+
+
+messageHeadersIterInit ::
+    (MonadIO m) =>
+    MessageHeaders                          -- hdrs
+    -> m (MessageHeadersIter)               -- result
+messageHeadersIterInit hdrs = liftIO $ do
+    iter <- callocBytes 24 :: IO (Ptr MessageHeadersIter)
+    let hdrs' = unsafeManagedPtrGetPtr hdrs
+    soup_message_headers_iter_init iter hdrs'
+    iter' <- (wrapPtr MessageHeadersIter) iter
+    touchManagedPtr hdrs
+    return iter'
+
+type family ResolveMessageHeadersIterMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMessageHeadersIterMethod "next" o = MessageHeadersIterNextMethodInfo
+    ResolveMessageHeadersIterMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveMessageHeadersIterMethod t MessageHeadersIter, MethodInfo info MessageHeadersIter p) => IsLabelProxy t (MessageHeadersIter -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveMessageHeadersIterMethod t MessageHeadersIter, MethodInfo info MessageHeadersIter p) => IsLabel t (MessageHeadersIter -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Soup/Structs/MessageHeadersIter.hs-boot b/GI/Soup/Structs/MessageHeadersIter.hs-boot
--- a/GI/Soup/Structs/MessageHeadersIter.hs-boot
+++ b/GI/Soup/Structs/MessageHeadersIter.hs-boot
@@ -8,3 +8,4 @@
 import qualified Data.Map as Map
 
 newtype MessageHeadersIter = MessageHeadersIter (ForeignPtr MessageHeadersIter)
+data MessageHeadersIterNextMethodInfo
diff --git a/GI/Soup/Structs/MessageQueue.hs b/GI/Soup/Structs/MessageQueue.hs
--- a/GI/Soup/Structs/MessageQueue.hs
+++ b/GI/Soup/Structs/MessageQueue.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 MessageQueue = MessageQueue (ForeignPtr MessageQueue)
 noMessageQueue :: Maybe MessageQueue
 noMessageQueue = Nothing
+
+type family ResolveMessageQueueMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMessageQueueMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveMessageQueueMethod t MessageQueue, MethodInfo info MessageQueue p) => IsLabelProxy t (MessageQueue -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveMessageQueueMethod t MessageQueue, MethodInfo info MessageQueue p) => IsLabel t (MessageQueue -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Soup/Structs/MessageQueueItem.hs b/GI/Soup/Structs/MessageQueueItem.hs
--- a/GI/Soup/Structs/MessageQueueItem.hs
+++ b/GI/Soup/Structs/MessageQueueItem.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 MessageQueueItem = MessageQueueItem (ForeignPtr MessageQueueItem)
 noMessageQueueItem :: Maybe MessageQueueItem
 noMessageQueueItem = Nothing
+
+type family ResolveMessageQueueItemMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMessageQueueItemMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveMessageQueueItemMethod t MessageQueueItem, MethodInfo info MessageQueueItem p) => IsLabelProxy t (MessageQueueItem -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveMessageQueueItemMethod t MessageQueueItem, MethodInfo info MessageQueueItem p) => IsLabel t (MessageQueueItem -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Soup/Structs/Multipart.hs b/GI/Soup/Structs/Multipart.hs
--- a/GI/Soup/Structs/Multipart.hs
+++ b/GI/Soup/Structs/Multipart.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -27,26 +28,32 @@
 
  -- * Methods
 -- ** multipartAppendFormFile
+    MultipartAppendFormFileMethodInfo       ,
     multipartAppendFormFile                 ,
 
 
 -- ** multipartAppendFormString
+    MultipartAppendFormStringMethodInfo     ,
     multipartAppendFormString               ,
 
 
 -- ** multipartAppendPart
+    MultipartAppendPartMethodInfo           ,
     multipartAppendPart                     ,
 
 
 -- ** multipartFree
+    MultipartFreeMethodInfo                 ,
     multipartFree                           ,
 
 
 -- ** multipartGetLength
+    MultipartGetLengthMethodInfo            ,
     multipartGetLength                      ,
 
 
 -- ** multipartGetPart
+    MultipartGetPartMethodInfo              ,
     multipartGetPart                        ,
 
 
@@ -59,6 +66,7 @@
 
 
 -- ** multipartToMessage
+    MultipartToMessageMethodInfo            ,
     multipartToMessage                      ,
 
 
@@ -88,9 +96,8 @@
 
 -- method Multipart::new
 -- method type : Constructor
--- Args : [Arg {argName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Multipart"
 -- throws : False
 -- Skip return : False
@@ -102,21 +109,20 @@
 
 multipartNew ::
     (MonadIO m) =>
-    T.Text ->                               -- mime_type
-    m Multipart
-multipartNew mime_type = liftIO $ do
-    mime_type' <- textToCString mime_type
-    result <- soup_multipart_new mime_type'
+    T.Text                                  -- mimeType
+    -> m Multipart                          -- result
+multipartNew mimeType = liftIO $ do
+    mimeType' <- textToCString mimeType
+    result <- soup_multipart_new mimeType'
     checkUnexpectedReturnNULL "soup_multipart_new" result
     result' <- (wrapBoxed Multipart) result
-    freeMem mime_type'
+    freeMem mimeType'
     return result'
 
 -- method Multipart::new_from_message
 -- method type : Constructor
--- Args : [Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "body", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "Multipart"
 -- throws : False
 -- Skip return : False
@@ -129,9 +135,9 @@
 
 multipartNewFromMessage ::
     (MonadIO m) =>
-    MessageHeaders ->                       -- headers
-    MessageBody ->                          -- body
-    m Multipart
+    MessageHeaders                          -- headers
+    -> MessageBody                          -- body
+    -> m Multipart                          -- result
 multipartNewFromMessage headers body = liftIO $ do
     let headers' = unsafeManagedPtrGetPtr headers
     let body' = unsafeManagedPtrGetPtr body
@@ -144,9 +150,8 @@
 
 -- method Multipart::append_form_file
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "body", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -162,31 +167,34 @@
 
 multipartAppendFormFile ::
     (MonadIO m) =>
-    Multipart ->                            -- _obj
-    T.Text ->                               -- control_name
-    T.Text ->                               -- filename
-    T.Text ->                               -- content_type
-    Buffer ->                               -- body
-    m ()
-multipartAppendFormFile _obj control_name filename content_type body = liftIO $ do
+    Multipart                               -- _obj
+    -> T.Text                               -- controlName
+    -> T.Text                               -- filename
+    -> T.Text                               -- contentType
+    -> Buffer                               -- body
+    -> m ()                                 -- result
+multipartAppendFormFile _obj controlName filename contentType body = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    control_name' <- textToCString control_name
+    controlName' <- textToCString controlName
     filename' <- textToCString filename
-    content_type' <- textToCString content_type
+    contentType' <- textToCString contentType
     let body' = unsafeManagedPtrGetPtr body
-    soup_multipart_append_form_file _obj' control_name' filename' content_type' body'
+    soup_multipart_append_form_file _obj' controlName' filename' contentType' body'
     touchManagedPtr _obj
     touchManagedPtr body
-    freeMem control_name'
+    freeMem controlName'
     freeMem filename'
-    freeMem content_type'
+    freeMem contentType'
     return ()
 
+data MultipartAppendFormFileMethodInfo
+instance (signature ~ (T.Text -> T.Text -> T.Text -> Buffer -> m ()), MonadIO m) => MethodInfo MultipartAppendFormFileMethodInfo Multipart signature where
+    overloadedMethod _ = multipartAppendFormFile
+
 -- method Multipart::append_form_string
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -200,25 +208,28 @@
 
 multipartAppendFormString ::
     (MonadIO m) =>
-    Multipart ->                            -- _obj
-    T.Text ->                               -- control_name
-    T.Text ->                               -- data
-    m ()
-multipartAppendFormString _obj control_name data_ = liftIO $ do
+    Multipart                               -- _obj
+    -> T.Text                               -- controlName
+    -> T.Text                               -- data_
+    -> m ()                                 -- result
+multipartAppendFormString _obj controlName data_ = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    control_name' <- textToCString control_name
+    controlName' <- textToCString controlName
     data_' <- textToCString data_
-    soup_multipart_append_form_string _obj' control_name' data_'
+    soup_multipart_append_form_string _obj' controlName' data_'
     touchManagedPtr _obj
-    freeMem control_name'
+    freeMem controlName'
     freeMem data_'
     return ()
 
+data MultipartAppendFormStringMethodInfo
+instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m) => MethodInfo MultipartAppendFormStringMethodInfo Multipart signature where
+    overloadedMethod _ = multipartAppendFormString
+
 -- method Multipart::append_part
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "body", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -232,10 +243,10 @@
 
 multipartAppendPart ::
     (MonadIO m) =>
-    Multipart ->                            -- _obj
-    MessageHeaders ->                       -- headers
-    Buffer ->                               -- body
-    m ()
+    Multipart                               -- _obj
+    -> MessageHeaders                       -- headers
+    -> Buffer                               -- body
+    -> m ()                                 -- result
 multipartAppendPart _obj headers body = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let headers' = unsafeManagedPtrGetPtr headers
@@ -246,11 +257,14 @@
     touchManagedPtr body
     return ()
 
+data MultipartAppendPartMethodInfo
+instance (signature ~ (MessageHeaders -> Buffer -> m ()), MonadIO m) => MethodInfo MultipartAppendPartMethodInfo Multipart signature where
+    overloadedMethod _ = multipartAppendPart
+
 -- method Multipart::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -262,19 +276,22 @@
 
 multipartFree ::
     (MonadIO m) =>
-    Multipart ->                            -- _obj
-    m ()
+    Multipart                               -- _obj
+    -> m ()                                 -- result
 multipartFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     soup_multipart_free _obj'
     touchManagedPtr _obj
     return ()
 
+data MultipartFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo MultipartFreeMethodInfo Multipart signature where
+    overloadedMethod _ = multipartFree
+
 -- method Multipart::get_length
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -286,19 +303,22 @@
 
 multipartGetLength ::
     (MonadIO m) =>
-    Multipart ->                            -- _obj
-    m Int32
+    Multipart                               -- _obj
+    -> m Int32                              -- result
 multipartGetLength _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_multipart_get_length _obj'
     touchManagedPtr _obj
     return result
 
+data MultipartGetLengthMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo MultipartGetLengthMethodInfo Multipart signature where
+    overloadedMethod _ = multipartGetLength
+
 -- method Multipart::get_part
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TInterface "Soup" "Buffer", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "part", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "body", argType = TInterface "Soup" "Buffer", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -313,9 +333,9 @@
 
 multipartGetPart ::
     (MonadIO m) =>
-    Multipart ->                            -- _obj
-    Int32 ->                                -- part
-    m (Bool,MessageHeaders,Buffer)
+    Multipart                               -- _obj
+    -> Int32                                -- part
+    -> m (Bool,MessageHeaders,Buffer)       -- result
 multipartGetPart _obj part = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     headers <- allocMem :: IO (Ptr (Ptr MessageHeaders))
@@ -329,11 +349,14 @@
     freeMem headers
     return (result', headers'', body')
 
+data MultipartGetPartMethodInfo
+instance (signature ~ (Int32 -> m (Bool,MessageHeaders,Buffer)), MonadIO m) => MethodInfo MultipartGetPartMethodInfo Multipart signature where
+    overloadedMethod _ = multipartGetPart
+
 -- method Multipart::to_message
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_body", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_body", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_body", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -347,18 +370,40 @@
 
 multipartToMessage ::
     (MonadIO m) =>
-    Multipart ->                            -- _obj
-    MessageHeaders ->                       -- dest_headers
-    MessageBody ->                          -- dest_body
-    m ()
-multipartToMessage _obj dest_headers dest_body = liftIO $ do
+    Multipart                               -- _obj
+    -> MessageHeaders                       -- destHeaders
+    -> MessageBody                          -- destBody
+    -> m ()                                 -- result
+multipartToMessage _obj destHeaders destBody = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    let dest_headers' = unsafeManagedPtrGetPtr dest_headers
-    let dest_body' = unsafeManagedPtrGetPtr dest_body
-    soup_multipart_to_message _obj' dest_headers' dest_body'
+    let destHeaders' = unsafeManagedPtrGetPtr destHeaders
+    let destBody' = unsafeManagedPtrGetPtr destBody
+    soup_multipart_to_message _obj' destHeaders' destBody'
     touchManagedPtr _obj
-    touchManagedPtr dest_headers
-    touchManagedPtr dest_body
+    touchManagedPtr destHeaders
+    touchManagedPtr destBody
     return ()
+
+data MultipartToMessageMethodInfo
+instance (signature ~ (MessageHeaders -> MessageBody -> m ()), MonadIO m) => MethodInfo MultipartToMessageMethodInfo Multipart signature where
+    overloadedMethod _ = multipartToMessage
+
+type family ResolveMultipartMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMultipartMethod "appendFormFile" o = MultipartAppendFormFileMethodInfo
+    ResolveMultipartMethod "appendFormString" o = MultipartAppendFormStringMethodInfo
+    ResolveMultipartMethod "appendPart" o = MultipartAppendPartMethodInfo
+    ResolveMultipartMethod "free" o = MultipartFreeMethodInfo
+    ResolveMultipartMethod "toMessage" o = MultipartToMessageMethodInfo
+    ResolveMultipartMethod "getLength" o = MultipartGetLengthMethodInfo
+    ResolveMultipartMethod "getPart" o = MultipartGetPartMethodInfo
+    ResolveMultipartMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveMultipartMethod t Multipart, MethodInfo info Multipart p) => IsLabelProxy t (Multipart -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveMultipartMethod t Multipart, MethodInfo info Multipart p) => IsLabel t (Multipart -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Soup/Structs/Multipart.hs-boot b/GI/Soup/Structs/Multipart.hs-boot
--- a/GI/Soup/Structs/Multipart.hs-boot
+++ b/GI/Soup/Structs/Multipart.hs-boot
@@ -9,3 +9,10 @@
 
 newtype Multipart = Multipart (ForeignPtr Multipart)
 instance BoxedObject Multipart where
+data MultipartAppendFormFileMethodInfo
+data MultipartAppendFormStringMethodInfo
+data MultipartAppendPartMethodInfo
+data MultipartFreeMethodInfo
+data MultipartGetLengthMethodInfo
+data MultipartGetPartMethodInfo
+data MultipartToMessageMethodInfo
diff --git a/GI/Soup/Structs/Range.hs b/GI/Soup/Structs/Range.hs
--- a/GI/Soup/Structs/Range.hs
+++ b/GI/Soup/Structs/Range.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -25,6 +26,7 @@
 
 -- * Exported types
     Range(..)                               ,
+    newZeroRange                            ,
     noRange                                 ,
 
 
@@ -52,6 +54,10 @@
 import GI.Soup.Callbacks
 
 newtype Range = Range (ForeignPtr Range)
+-- | Construct a `Range` struct initialized to zero.
+newZeroRange :: MonadIO m => m Range
+newZeroRange = liftIO $ callocBytes 16 >>= wrapPtr Range
+
 noRange :: Maybe Range
 noRange = Nothing
 
@@ -64,5 +70,16 @@
 rangeReadEnd s = withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 8) :: IO Int64
     return val
+
+type family ResolveRangeMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRangeMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveRangeMethod t Range, MethodInfo info Range p) => IsLabelProxy t (Range -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveRangeMethod t Range, MethodInfo info Range p) => IsLabel t (Range -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Soup/Structs/URI.hs b/GI/Soup/Structs/URI.hs
--- a/GI/Soup/Structs/URI.hs
+++ b/GI/Soup/Structs/URI.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -52,63 +53,86 @@
 
 -- * Exported types
     URI(..)                                 ,
+    newZeroURI                              ,
     noURI                                   ,
 
 
  -- * Methods
 -- ** uRICopy
+    URICopyMethodInfo                       ,
     uRICopy                                 ,
 
 
 -- ** uRICopyHost
+    URICopyHostMethodInfo                   ,
     uRICopyHost                             ,
 
 
+-- ** uRIDecode
+    uRIDecode                               ,
+
+
+-- ** uRIEncode
+    uRIEncode                               ,
+
+
 -- ** uRIEqual
+    URIEqualMethodInfo                      ,
     uRIEqual                                ,
 
 
 -- ** uRIFree
+    URIFreeMethodInfo                       ,
     uRIFree                                 ,
 
 
 -- ** uRIGetFragment
+    URIGetFragmentMethodInfo                ,
     uRIGetFragment                          ,
 
 
 -- ** uRIGetHost
+    URIGetHostMethodInfo                    ,
     uRIGetHost                              ,
 
 
 -- ** uRIGetPassword
+    URIGetPasswordMethodInfo                ,
     uRIGetPassword                          ,
 
 
 -- ** uRIGetPath
+    URIGetPathMethodInfo                    ,
     uRIGetPath                              ,
 
 
 -- ** uRIGetPort
+    URIGetPortMethodInfo                    ,
     uRIGetPort                              ,
 
 
 -- ** uRIGetQuery
+    URIGetQueryMethodInfo                   ,
     uRIGetQuery                             ,
 
 
 -- ** uRIGetScheme
+    URIGetSchemeMethodInfo                  ,
     uRIGetScheme                            ,
 
 
 -- ** uRIGetUser
+    URIGetUserMethodInfo                    ,
     uRIGetUser                              ,
 
 
 -- ** uRIHostEqual
+    URIHostEqualMethodInfo                  ,
     uRIHostEqual                            ,
 
 
 -- ** uRIHostHash
+    URIHostHashMethodInfo                   ,
     uRIHostHash                             ,
 
 
@@ -117,50 +141,66 @@
 
 
 -- ** uRINewWithBase
+    URINewWithBaseMethodInfo                ,
     uRINewWithBase                          ,
 
 
+-- ** uRINormalize
+    uRINormalize                            ,
+
+
 -- ** uRISetFragment
+    URISetFragmentMethodInfo                ,
     uRISetFragment                          ,
 
 
 -- ** uRISetHost
+    URISetHostMethodInfo                    ,
     uRISetHost                              ,
 
 
 -- ** uRISetPassword
+    URISetPasswordMethodInfo                ,
     uRISetPassword                          ,
 
 
 -- ** uRISetPath
+    URISetPathMethodInfo                    ,
     uRISetPath                              ,
 
 
 -- ** uRISetPort
+    URISetPortMethodInfo                    ,
     uRISetPort                              ,
 
 
 -- ** uRISetQuery
+    URISetQueryMethodInfo                   ,
     uRISetQuery                             ,
 
 
 -- ** uRISetQueryFromForm
+    URISetQueryFromFormMethodInfo           ,
     uRISetQueryFromForm                     ,
 
 
 -- ** uRISetScheme
+    URISetSchemeMethodInfo                  ,
     uRISetScheme                            ,
 
 
 -- ** uRISetUser
+    URISetUserMethodInfo                    ,
     uRISetUser                              ,
 
 
 -- ** uRIToString
+    URIToStringMethodInfo                   ,
     uRIToString                             ,
 
 
 -- ** uRIUsesDefaultPort
+    URIUsesDefaultPortMethodInfo            ,
     uRIUsesDefaultPort                      ,
 
 
@@ -220,6 +260,10 @@
 instance BoxedObject URI where
     boxedType _ = c_soup_uri_get_type
 
+-- | Construct a `URI` struct initialized to zero.
+newZeroURI :: MonadIO m => m URI
+newZeroURI = liftIO $ callocBoxedBytes 64 >>= wrapBoxed URI
+
 noURI :: Maybe URI
 noURI = Nothing
 
@@ -272,9 +316,8 @@
 
 -- method URI::new
 -- method type : Constructor
--- Args : [Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "URI"
 -- throws : False
 -- Skip return : False
@@ -286,25 +329,24 @@
 
 uRINew ::
     (MonadIO m) =>
-    Maybe (T.Text) ->                       -- uri_string
-    m URI
-uRINew uri_string = liftIO $ do
-    maybeUri_string <- case uri_string of
+    Maybe (T.Text)                          -- uriString
+    -> m URI                                -- result
+uRINew uriString = liftIO $ do
+    maybeUriString <- case uriString of
         Nothing -> return nullPtr
-        Just jUri_string -> do
-            jUri_string' <- textToCString jUri_string
-            return jUri_string'
-    result <- soup_uri_new maybeUri_string
+        Just jUriString -> do
+            jUriString' <- textToCString jUriString
+            return jUriString'
+    result <- soup_uri_new maybeUriString
     checkUnexpectedReturnNULL "soup_uri_new" result
     result' <- (wrapBoxed URI) result
-    freeMem maybeUri_string
+    freeMem maybeUriString
     return result'
 
 -- method URI::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "URI"
 -- throws : False
 -- Skip return : False
@@ -316,8 +358,8 @@
 
 uRICopy ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    m URI
+    URI                                     -- _obj
+    -> m URI                                -- result
 uRICopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_uri_copy _obj'
@@ -326,11 +368,14 @@
     touchManagedPtr _obj
     return result'
 
+data URICopyMethodInfo
+instance (signature ~ (m URI), MonadIO m) => MethodInfo URICopyMethodInfo URI signature where
+    overloadedMethod _ = uRICopy
+
 -- method URI::copy_host
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "URI"
 -- throws : False
 -- Skip return : False
@@ -342,8 +387,8 @@
 
 uRICopyHost ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    m URI
+    URI                                     -- _obj
+    -> m URI                                -- result
 uRICopyHost _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_uri_copy_host _obj'
@@ -352,11 +397,14 @@
     touchManagedPtr _obj
     return result'
 
+data URICopyHostMethodInfo
+instance (signature ~ (m URI), MonadIO m) => MethodInfo URICopyHostMethodInfo URI signature where
+    overloadedMethod _ = uRICopyHost
+
 -- method URI::equal
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri2", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri2", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri2", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -369,9 +417,9 @@
 
 uRIEqual ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    URI ->                                  -- uri2
-    m Bool
+    URI                                     -- _obj
+    -> URI                                  -- uri2
+    -> m Bool                               -- result
 uRIEqual _obj uri2 = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let uri2' = unsafeManagedPtrGetPtr uri2
@@ -381,11 +429,14 @@
     touchManagedPtr uri2
     return result'
 
+data URIEqualMethodInfo
+instance (signature ~ (URI -> m Bool), MonadIO m) => MethodInfo URIEqualMethodInfo URI signature where
+    overloadedMethod _ = uRIEqual
+
 -- method URI::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -397,19 +448,22 @@
 
 uRIFree ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    m ()
+    URI                                     -- _obj
+    -> m ()                                 -- result
 uRIFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     soup_uri_free _obj'
     touchManagedPtr _obj
     return ()
 
+data URIFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo URIFreeMethodInfo URI signature where
+    overloadedMethod _ = uRIFree
+
 -- method URI::get_fragment
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -421,8 +475,8 @@
 
 uRIGetFragment ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    m T.Text
+    URI                                     -- _obj
+    -> m T.Text                             -- result
 uRIGetFragment _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_uri_get_fragment _obj'
@@ -431,11 +485,14 @@
     touchManagedPtr _obj
     return result'
 
+data URIGetFragmentMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo URIGetFragmentMethodInfo URI signature where
+    overloadedMethod _ = uRIGetFragment
+
 -- method URI::get_host
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -447,8 +504,8 @@
 
 uRIGetHost ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    m T.Text
+    URI                                     -- _obj
+    -> m T.Text                             -- result
 uRIGetHost _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_uri_get_host _obj'
@@ -457,11 +514,14 @@
     touchManagedPtr _obj
     return result'
 
+data URIGetHostMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo URIGetHostMethodInfo URI signature where
+    overloadedMethod _ = uRIGetHost
+
 -- method URI::get_password
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -473,8 +533,8 @@
 
 uRIGetPassword ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    m T.Text
+    URI                                     -- _obj
+    -> m T.Text                             -- result
 uRIGetPassword _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_uri_get_password _obj'
@@ -483,11 +543,14 @@
     touchManagedPtr _obj
     return result'
 
+data URIGetPasswordMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo URIGetPasswordMethodInfo URI signature where
+    overloadedMethod _ = uRIGetPassword
+
 -- method URI::get_path
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -499,8 +562,8 @@
 
 uRIGetPath ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    m T.Text
+    URI                                     -- _obj
+    -> m T.Text                             -- result
 uRIGetPath _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_uri_get_path _obj'
@@ -509,11 +572,14 @@
     touchManagedPtr _obj
     return result'
 
+data URIGetPathMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo URIGetPathMethodInfo URI signature where
+    overloadedMethod _ = uRIGetPath
+
 -- method URI::get_port
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -525,19 +591,22 @@
 
 uRIGetPort ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    m Word32
+    URI                                     -- _obj
+    -> m Word32                             -- result
 uRIGetPort _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_uri_get_port _obj'
     touchManagedPtr _obj
     return result
 
+data URIGetPortMethodInfo
+instance (signature ~ (m Word32), MonadIO m) => MethodInfo URIGetPortMethodInfo URI signature where
+    overloadedMethod _ = uRIGetPort
+
 -- method URI::get_query
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -549,8 +618,8 @@
 
 uRIGetQuery ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    m T.Text
+    URI                                     -- _obj
+    -> m T.Text                             -- result
 uRIGetQuery _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_uri_get_query _obj'
@@ -559,11 +628,14 @@
     touchManagedPtr _obj
     return result'
 
+data URIGetQueryMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo URIGetQueryMethodInfo URI signature where
+    overloadedMethod _ = uRIGetQuery
+
 -- method URI::get_scheme
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -575,8 +647,8 @@
 
 uRIGetScheme ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    m T.Text
+    URI                                     -- _obj
+    -> m T.Text                             -- result
 uRIGetScheme _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_uri_get_scheme _obj'
@@ -585,11 +657,14 @@
     touchManagedPtr _obj
     return result'
 
+data URIGetSchemeMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo URIGetSchemeMethodInfo URI signature where
+    overloadedMethod _ = uRIGetScheme
+
 -- method URI::get_user
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -601,8 +676,8 @@
 
 uRIGetUser ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    m T.Text
+    URI                                     -- _obj
+    -> m T.Text                             -- result
 uRIGetUser _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_uri_get_user _obj'
@@ -611,11 +686,14 @@
     touchManagedPtr _obj
     return result'
 
+data URIGetUserMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo URIGetUserMethodInfo URI signature where
+    overloadedMethod _ = uRIGetUser
+
 -- method URI::host_equal
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v2", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v2", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v2", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -628,9 +706,9 @@
 
 uRIHostEqual ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    URI ->                                  -- v2
-    m Bool
+    URI                                     -- _obj
+    -> URI                                  -- v2
+    -> m Bool                               -- result
 uRIHostEqual _obj v2 = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let v2' = unsafeManagedPtrGetPtr v2
@@ -640,11 +718,14 @@
     touchManagedPtr v2
     return result'
 
+data URIHostEqualMethodInfo
+instance (signature ~ (URI -> m Bool), MonadIO m) => MethodInfo URIHostEqualMethodInfo URI signature where
+    overloadedMethod _ = uRIHostEqual
+
 -- method URI::host_hash
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -656,19 +737,22 @@
 
 uRIHostHash ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    m Word32
+    URI                                     -- _obj
+    -> m Word32                             -- result
 uRIHostHash _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_uri_host_hash _obj'
     touchManagedPtr _obj
     return result
 
+data URIHostHashMethodInfo
+instance (signature ~ (m Word32), MonadIO m) => MethodInfo URIHostHashMethodInfo URI signature where
+    overloadedMethod _ = uRIHostHash
+
 -- method URI::new_with_base
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Soup" "URI"
 -- throws : False
 -- Skip return : False
@@ -681,24 +765,27 @@
 
 uRINewWithBase ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    T.Text ->                               -- uri_string
-    m URI
-uRINewWithBase _obj uri_string = liftIO $ do
+    URI                                     -- _obj
+    -> T.Text                               -- uriString
+    -> m URI                                -- result
+uRINewWithBase _obj uriString = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    uri_string' <- textToCString uri_string
-    result <- soup_uri_new_with_base _obj' uri_string'
+    uriString' <- textToCString uriString
+    result <- soup_uri_new_with_base _obj' uriString'
     checkUnexpectedReturnNULL "soup_uri_new_with_base" result
     result' <- (wrapBoxed URI) result
     touchManagedPtr _obj
-    freeMem uri_string'
+    freeMem uriString'
     return result'
 
+data URINewWithBaseMethodInfo
+instance (signature ~ (T.Text -> m URI), MonadIO m) => MethodInfo URINewWithBaseMethodInfo URI signature where
+    overloadedMethod _ = uRINewWithBase
+
 -- method URI::set_fragment
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "fragment", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fragment", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "fragment", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -711,9 +798,9 @@
 
 uRISetFragment ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    Maybe (T.Text) ->                       -- fragment
-    m ()
+    URI                                     -- _obj
+    -> Maybe (T.Text)                       -- fragment
+    -> m ()                                 -- result
 uRISetFragment _obj fragment = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     maybeFragment <- case fragment of
@@ -726,11 +813,14 @@
     freeMem maybeFragment
     return ()
 
+data URISetFragmentMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m) => MethodInfo URISetFragmentMethodInfo URI signature where
+    overloadedMethod _ = uRISetFragment
+
 -- method URI::set_host
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -743,9 +833,9 @@
 
 uRISetHost ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    Maybe (T.Text) ->                       -- host
-    m ()
+    URI                                     -- _obj
+    -> Maybe (T.Text)                       -- host
+    -> m ()                                 -- result
 uRISetHost _obj host = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     maybeHost <- case host of
@@ -758,11 +848,14 @@
     freeMem maybeHost
     return ()
 
+data URISetHostMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m) => MethodInfo URISetHostMethodInfo URI signature where
+    overloadedMethod _ = uRISetHost
+
 -- method URI::set_password
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -775,9 +868,9 @@
 
 uRISetPassword ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    Maybe (T.Text) ->                       -- password
-    m ()
+    URI                                     -- _obj
+    -> Maybe (T.Text)                       -- password
+    -> m ()                                 -- result
 uRISetPassword _obj password = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     maybePassword <- case password of
@@ -790,11 +883,14 @@
     freeMem maybePassword
     return ()
 
+data URISetPasswordMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m) => MethodInfo URISetPasswordMethodInfo URI signature where
+    overloadedMethod _ = uRISetPassword
+
 -- method URI::set_path
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -807,9 +903,9 @@
 
 uRISetPath ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    T.Text ->                               -- path
-    m ()
+    URI                                     -- _obj
+    -> T.Text                               -- path
+    -> m ()                                 -- result
 uRISetPath _obj path = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     path' <- textToCString path
@@ -818,11 +914,14 @@
     freeMem path'
     return ()
 
+data URISetPathMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m) => MethodInfo URISetPathMethodInfo URI signature where
+    overloadedMethod _ = uRISetPath
+
 -- method URI::set_port
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -835,20 +934,23 @@
 
 uRISetPort ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    Word32 ->                               -- port
-    m ()
+    URI                                     -- _obj
+    -> Word32                               -- port
+    -> m ()                                 -- result
 uRISetPort _obj port = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     soup_uri_set_port _obj' port
     touchManagedPtr _obj
     return ()
 
+data URISetPortMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m) => MethodInfo URISetPortMethodInfo URI signature where
+    overloadedMethod _ = uRISetPort
+
 -- method URI::set_query
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "query", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "query", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -861,9 +963,9 @@
 
 uRISetQuery ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    Maybe (T.Text) ->                       -- query
-    m ()
+    URI                                     -- _obj
+    -> Maybe (T.Text)                       -- query
+    -> m ()                                 -- result
 uRISetQuery _obj query = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     maybeQuery <- case query of
@@ -876,11 +978,14 @@
     freeMem maybeQuery
     return ()
 
+data URISetQueryMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m) => MethodInfo URISetQueryMethodInfo URI signature where
+    overloadedMethod _ = uRISetQuery
+
 -- method URI::set_query_from_form
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "form", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -893,9 +998,9 @@
 
 uRISetQueryFromForm ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    Map.Map T.Text T.Text ->                -- form
-    m ()
+    URI                                     -- _obj
+    -> Map.Map T.Text T.Text                -- form
+    -> m ()                                 -- result
 uRISetQueryFromForm _obj form = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let form' = Map.toList form
@@ -909,11 +1014,14 @@
     unrefGHashTable form''''''
     return ()
 
+data URISetQueryFromFormMethodInfo
+instance (signature ~ (Map.Map T.Text T.Text -> m ()), MonadIO m) => MethodInfo URISetQueryFromFormMethodInfo URI signature where
+    overloadedMethod _ = uRISetQueryFromForm
+
 -- method URI::set_scheme
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -926,9 +1034,9 @@
 
 uRISetScheme ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    T.Text ->                               -- scheme
-    m ()
+    URI                                     -- _obj
+    -> T.Text                               -- scheme
+    -> m ()                                 -- result
 uRISetScheme _obj scheme = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     scheme' <- textToCString scheme
@@ -937,11 +1045,14 @@
     freeMem scheme'
     return ()
 
+data URISetSchemeMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m) => MethodInfo URISetSchemeMethodInfo URI signature where
+    overloadedMethod _ = uRISetScheme
+
 -- method URI::set_user
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -954,9 +1065,9 @@
 
 uRISetUser ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    Maybe (T.Text) ->                       -- user
-    m ()
+    URI                                     -- _obj
+    -> Maybe (T.Text)                       -- user
+    -> m ()                                 -- result
 uRISetUser _obj user = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     maybeUser <- case user of
@@ -969,11 +1080,14 @@
     freeMem maybeUser
     return ()
 
+data URISetUserMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m) => MethodInfo URISetUserMethodInfo URI signature where
+    overloadedMethod _ = uRISetUser
+
 -- method URI::to_string
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "just_path_and_query", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "just_path_and_query", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "just_path_and_query", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -986,24 +1100,27 @@
 
 uRIToString ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    Bool ->                                 -- just_path_and_query
-    m T.Text
-uRIToString _obj just_path_and_query = liftIO $ do
+    URI                                     -- _obj
+    -> Bool                                 -- justPathAndQuery
+    -> m T.Text                             -- result
+uRIToString _obj justPathAndQuery = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    let just_path_and_query' = (fromIntegral . fromEnum) just_path_and_query
-    result <- soup_uri_to_string _obj' just_path_and_query'
+    let justPathAndQuery' = (fromIntegral . fromEnum) justPathAndQuery
+    result <- soup_uri_to_string _obj' justPathAndQuery'
     checkUnexpectedReturnNULL "soup_uri_to_string" result
     result' <- cstringToText result
     freeMem result
     touchManagedPtr _obj
     return result'
 
+data URIToStringMethodInfo
+instance (signature ~ (Bool -> m T.Text), MonadIO m) => MethodInfo URIToStringMethodInfo URI signature where
+    overloadedMethod _ = uRIToString
+
 -- method URI::uses_default_port
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1015,13 +1132,148 @@
 
 uRIUsesDefaultPort ::
     (MonadIO m) =>
-    URI ->                                  -- _obj
-    m Bool
+    URI                                     -- _obj
+    -> m Bool                               -- result
 uRIUsesDefaultPort _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- soup_uri_uses_default_port _obj'
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
+
+data URIUsesDefaultPortMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo URIUsesDefaultPortMethodInfo URI signature where
+    overloadedMethod _ = uRIUsesDefaultPort
+
+-- method URI::decode
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_uri_decode" soup_uri_decode :: 
+    CString ->                              -- part : TBasicType TUTF8
+    IO CString
+
+
+uRIDecode ::
+    (MonadIO m) =>
+    T.Text                                  -- part
+    -> m T.Text                             -- result
+uRIDecode part = liftIO $ do
+    part' <- textToCString part
+    result <- soup_uri_decode part'
+    checkUnexpectedReturnNULL "soup_uri_decode" result
+    result' <- cstringToText result
+    freeMem result
+    freeMem part'
+    return result'
+
+-- method URI::encode
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "escape_extra", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_uri_encode" soup_uri_encode :: 
+    CString ->                              -- part : TBasicType TUTF8
+    CString ->                              -- escape_extra : TBasicType TUTF8
+    IO CString
+
+
+uRIEncode ::
+    (MonadIO m) =>
+    T.Text                                  -- part
+    -> Maybe (T.Text)                       -- escapeExtra
+    -> m T.Text                             -- result
+uRIEncode part escapeExtra = liftIO $ do
+    part' <- textToCString part
+    maybeEscapeExtra <- case escapeExtra of
+        Nothing -> return nullPtr
+        Just jEscapeExtra -> do
+            jEscapeExtra' <- textToCString jEscapeExtra
+            return jEscapeExtra'
+    result <- soup_uri_encode part' maybeEscapeExtra
+    checkUnexpectedReturnNULL "soup_uri_encode" result
+    result' <- cstringToText result
+    freeMem result
+    freeMem part'
+    freeMem maybeEscapeExtra
+    return result'
+
+-- method URI::normalize
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unescape_extra", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "soup_uri_normalize" soup_uri_normalize :: 
+    CString ->                              -- part : TBasicType TUTF8
+    CString ->                              -- unescape_extra : TBasicType TUTF8
+    IO CString
+
+
+uRINormalize ::
+    (MonadIO m) =>
+    T.Text                                  -- part
+    -> Maybe (T.Text)                       -- unescapeExtra
+    -> m T.Text                             -- result
+uRINormalize part unescapeExtra = liftIO $ do
+    part' <- textToCString part
+    maybeUnescapeExtra <- case unescapeExtra of
+        Nothing -> return nullPtr
+        Just jUnescapeExtra -> do
+            jUnescapeExtra' <- textToCString jUnescapeExtra
+            return jUnescapeExtra'
+    result <- soup_uri_normalize part' maybeUnescapeExtra
+    checkUnexpectedReturnNULL "soup_uri_normalize" result
+    result' <- cstringToText result
+    freeMem result
+    freeMem part'
+    freeMem maybeUnescapeExtra
+    return result'
+
+type family ResolveURIMethod (t :: Symbol) (o :: *) :: * where
+    ResolveURIMethod "copy" o = URICopyMethodInfo
+    ResolveURIMethod "copyHost" o = URICopyHostMethodInfo
+    ResolveURIMethod "equal" o = URIEqualMethodInfo
+    ResolveURIMethod "free" o = URIFreeMethodInfo
+    ResolveURIMethod "hostEqual" o = URIHostEqualMethodInfo
+    ResolveURIMethod "hostHash" o = URIHostHashMethodInfo
+    ResolveURIMethod "newWithBase" o = URINewWithBaseMethodInfo
+    ResolveURIMethod "toString" o = URIToStringMethodInfo
+    ResolveURIMethod "usesDefaultPort" o = URIUsesDefaultPortMethodInfo
+    ResolveURIMethod "getFragment" o = URIGetFragmentMethodInfo
+    ResolveURIMethod "getHost" o = URIGetHostMethodInfo
+    ResolveURIMethod "getPassword" o = URIGetPasswordMethodInfo
+    ResolveURIMethod "getPath" o = URIGetPathMethodInfo
+    ResolveURIMethod "getPort" o = URIGetPortMethodInfo
+    ResolveURIMethod "getQuery" o = URIGetQueryMethodInfo
+    ResolveURIMethod "getScheme" o = URIGetSchemeMethodInfo
+    ResolveURIMethod "getUser" o = URIGetUserMethodInfo
+    ResolveURIMethod "setFragment" o = URISetFragmentMethodInfo
+    ResolveURIMethod "setHost" o = URISetHostMethodInfo
+    ResolveURIMethod "setPassword" o = URISetPasswordMethodInfo
+    ResolveURIMethod "setPath" o = URISetPathMethodInfo
+    ResolveURIMethod "setPort" o = URISetPortMethodInfo
+    ResolveURIMethod "setQuery" o = URISetQueryMethodInfo
+    ResolveURIMethod "setQueryFromForm" o = URISetQueryFromFormMethodInfo
+    ResolveURIMethod "setScheme" o = URISetSchemeMethodInfo
+    ResolveURIMethod "setUser" o = URISetUserMethodInfo
+    ResolveURIMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveURIMethod t URI, MethodInfo info URI p) => IsLabelProxy t (URI -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveURIMethod t URI, MethodInfo info URI p) => IsLabel t (URI -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Soup/Structs/URI.hs-boot b/GI/Soup/Structs/URI.hs-boot
--- a/GI/Soup/Structs/URI.hs-boot
+++ b/GI/Soup/Structs/URI.hs-boot
@@ -9,3 +9,29 @@
 
 newtype URI = URI (ForeignPtr URI)
 instance BoxedObject URI where
+data URICopyMethodInfo
+data URICopyHostMethodInfo
+data URIEqualMethodInfo
+data URIFreeMethodInfo
+data URIGetFragmentMethodInfo
+data URIGetHostMethodInfo
+data URIGetPasswordMethodInfo
+data URIGetPathMethodInfo
+data URIGetPortMethodInfo
+data URIGetQueryMethodInfo
+data URIGetSchemeMethodInfo
+data URIGetUserMethodInfo
+data URIHostEqualMethodInfo
+data URIHostHashMethodInfo
+data URINewWithBaseMethodInfo
+data URISetFragmentMethodInfo
+data URISetHostMethodInfo
+data URISetPasswordMethodInfo
+data URISetPathMethodInfo
+data URISetPortMethodInfo
+data URISetQueryMethodInfo
+data URISetQueryFromFormMethodInfo
+data URISetSchemeMethodInfo
+data URISetUserMethodInfo
+data URIToStringMethodInfo
+data URIUsesDefaultPortMethodInfo
diff --git a/GI/Soup/Structs/XMLRPCParams.hs b/GI/Soup/Structs/XMLRPCParams.hs
--- a/GI/Soup/Structs/XMLRPCParams.hs
+++ b/GI/Soup/Structs/XMLRPCParams.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -19,10 +20,12 @@
 
  -- * Methods
 -- ** xMLRPCParamsFree
+    XMLRPCParamsFreeMethodInfo              ,
     xMLRPCParamsFree                        ,
 
 
 -- ** xMLRPCParamsParse
+    XMLRPCParamsParseMethodInfo             ,
     xMLRPCParamsParse                       ,
 
 
@@ -46,9 +49,8 @@
 
 -- method XMLRPCParams::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "XMLRPCParams", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "XMLRPCParams", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "XMLRPCParams", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -60,19 +62,22 @@
 
 xMLRPCParamsFree ::
     (MonadIO m) =>
-    XMLRPCParams ->                         -- _obj
-    m ()
+    XMLRPCParams                            -- _obj
+    -> m ()                                 -- result
 xMLRPCParamsFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     soup_xmlrpc_params_free _obj'
     touchManagedPtr _obj
     return ()
 
+data XMLRPCParamsFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo XMLRPCParamsFreeMethodInfo XMLRPCParams signature where
+    overloadedMethod _ = xMLRPCParamsFree
+
 -- method XMLRPCParams::parse
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "XMLRPCParams", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signature", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "XMLRPCParams", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signature", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "XMLRPCParams", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signature", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TVariant
 -- throws : True
 -- Skip return : False
@@ -86,9 +91,9 @@
 
 xMLRPCParamsParse ::
     (MonadIO m) =>
-    XMLRPCParams ->                         -- _obj
-    Maybe (T.Text) ->                       -- signature
-    m GVariant
+    XMLRPCParams                            -- _obj
+    -> Maybe (T.Text)                       -- signature
+    -> m GVariant                           -- result
 xMLRPCParamsParse _obj signature = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     maybeSignature <- case signature of
@@ -106,5 +111,22 @@
      ) (do
         freeMem maybeSignature
      )
+
+data XMLRPCParamsParseMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m GVariant), MonadIO m) => MethodInfo XMLRPCParamsParseMethodInfo XMLRPCParams signature where
+    overloadedMethod _ = xMLRPCParamsParse
+
+type family ResolveXMLRPCParamsMethod (t :: Symbol) (o :: *) :: * where
+    ResolveXMLRPCParamsMethod "free" o = XMLRPCParamsFreeMethodInfo
+    ResolveXMLRPCParamsMethod "parse" o = XMLRPCParamsParseMethodInfo
+    ResolveXMLRPCParamsMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveXMLRPCParamsMethod t XMLRPCParams, MethodInfo info XMLRPCParams p) => IsLabelProxy t (XMLRPCParams -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveXMLRPCParamsMethod t XMLRPCParams, MethodInfo info XMLRPCParams p) => IsLabel t (XMLRPCParams -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Soup/Structs/XMLRPCParams.hs-boot b/GI/Soup/Structs/XMLRPCParams.hs-boot
--- a/GI/Soup/Structs/XMLRPCParams.hs-boot
+++ b/GI/Soup/Structs/XMLRPCParams.hs-boot
@@ -8,3 +8,5 @@
 import qualified Data.Map as Map
 
 newtype XMLRPCParams = XMLRPCParams (ForeignPtr XMLRPCParams)
+data XMLRPCParamsFreeMethodInfo
+data XMLRPCParamsParseMethodInfo
diff --git a/gi-soup.cabal b/gi-soup.cabal
--- a/gi-soup.cabal
+++ b/gi-soup.cabal
@@ -1,6 +1,6 @@
 -- Autogenerated, do not edit.
 name:               gi-soup
-version:            0.2.52.12
+version:            0.2.52.13
 synopsis:           Soup bindings
 description:        Bindings for Soup, 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.Soup.Types
                         GI.Soup
@@ -76,10 +76,10 @@
                         GI.Soup.Structs.XMLRPCParams
     pkgconfig-depends:  libsoup-2.4 >= 2.52
     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,
-        gi-gio >= 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,
+        gi-gio >= 0.2.46.13 && < 0.2.47,
         bytestring >= 0.10,
         containers >= 0.5,
         text >= 1.0,
