diff --git a/Graphics/UI/Gtk/WebKit/DOM/Attr.chs b/Graphics/UI/Gtk/WebKit/DOM/Attr.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/Attr.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/Attr.chs
@@ -10,7 +10,8 @@
 import System.Glib.GError
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
-attrGetName :: (DOMAttrClass self) => self -> IO String
+attrGetName ::
+            (DOMAttrClass self, GlibString string) => self -> IO string
 attrGetName self
   = ({# call webkit_dom_attr_get_name #} (toDOMAttr self)) >>=
       readUTFString
@@ -20,7 +21,8 @@
   = toBool <$>
       ({# call webkit_dom_attr_get_specified #} (toDOMAttr self))
  
-attrSetValue :: (DOMAttrClass self) => self -> String -> IO ()
+attrSetValue ::
+             (DOMAttrClass self, GlibString string) => self -> string -> IO ()
 attrSetValue self val
   = propagateGError $
       \ errorPtr_ ->
@@ -29,7 +31,8 @@
             {# call webkit_dom_attr_set_value #} (toDOMAttr self) valPtr
           errorPtr_
  
-attrGetValue :: (DOMAttrClass self) => self -> IO String
+attrGetValue ::
+             (DOMAttrClass self, GlibString string) => self -> IO string
 attrGetValue self
   = ({# call webkit_dom_attr_get_value #} (toDOMAttr self)) >>=
       readUTFString
diff --git a/Graphics/UI/Gtk/WebKit/DOM/CSSRule.chs b/Graphics/UI/Gtk/WebKit/DOM/CSSRule.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/CSSRule.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/CSSRule.chs
@@ -21,7 +21,8 @@
 cWEBKIT_KEYFRAMES_RULE = 7
 cWEBKIT_KEYFRAME_RULE = 8
  
-cssRuleSetCssText :: (CSSRuleClass self) => self -> String -> IO ()
+cssRuleSetCssText ::
+                  (CSSRuleClass self, GlibString string) => self -> string -> IO ()
 cssRuleSetCssText self val
   = propagateGError $
       \ errorPtr_ ->
@@ -30,7 +31,8 @@
             {# call webkit_dom_css_rule_set_css_text #} (toCSSRule self) valPtr
           errorPtr_
  
-cssRuleGetCssText :: (CSSRuleClass self) => self -> IO String
+cssRuleGetCssText ::
+                  (CSSRuleClass self, GlibString string) => self -> IO string
 cssRuleGetCssText self
   = ({# call webkit_dom_css_rule_get_css_text #} (toCSSRule self))
       >>=
diff --git a/Graphics/UI/Gtk/WebKit/DOM/CSSStyleDeclaration.chs b/Graphics/UI/Gtk/WebKit/DOM/CSSStyleDeclaration.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/CSSStyleDeclaration.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/CSSStyleDeclaration.chs
@@ -19,7 +19,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 cssStyleDeclarationGetPropertyValue ::
-                                    (CSSStyleDeclarationClass self) => self -> String -> IO String
+                                    (CSSStyleDeclarationClass self, GlibString string) =>
+                                      self -> string -> IO string
 cssStyleDeclarationGetPropertyValue self propertyName
   = (withUTFString propertyName $
        \ propertyNamePtr ->
@@ -30,7 +31,8 @@
       readUTFString
  
 cssStyleDeclarationRemoveProperty ::
-                                  (CSSStyleDeclarationClass self) => self -> String -> IO String
+                                  (CSSStyleDeclarationClass self, GlibString string) =>
+                                    self -> string -> IO string
 cssStyleDeclarationRemoveProperty self propertyName
   = (propagateGError $
        \ errorPtr_ ->
@@ -44,8 +46,8 @@
       readUTFString
  
 cssStyleDeclarationGetPropertyPriority ::
-                                       (CSSStyleDeclarationClass self) =>
-                                         self -> String -> IO String
+                                       (CSSStyleDeclarationClass self, GlibString string) =>
+                                         self -> string -> IO string
 cssStyleDeclarationGetPropertyPriority self propertyName
   = (withUTFString propertyName $
        \ propertyNamePtr ->
@@ -56,8 +58,8 @@
       readUTFString
  
 cssStyleDeclarationSetProperty ::
-                               (CSSStyleDeclarationClass self) =>
-                                 self -> String -> String -> String -> IO ()
+                               (CSSStyleDeclarationClass self, GlibString string) =>
+                                 self -> string -> string -> string -> IO ()
 cssStyleDeclarationSetProperty self propertyName value priority
   = propagateGError $
       \ errorPtr_ ->
@@ -75,7 +77,8 @@
           errorPtr_
  
 cssStyleDeclarationItem ::
-                        (CSSStyleDeclarationClass self) => self -> Word -> IO String
+                        (CSSStyleDeclarationClass self, GlibString string) =>
+                          self -> Word -> IO string
 cssStyleDeclarationItem self index
   = ({# call webkit_dom_css_style_declaration_item #}
        (toCSSStyleDeclaration self)
@@ -84,8 +87,8 @@
       readUTFString
  
 cssStyleDeclarationGetPropertyShorthand ::
-                                        (CSSStyleDeclarationClass self) =>
-                                          self -> String -> IO String
+                                        (CSSStyleDeclarationClass self, GlibString string) =>
+                                          self -> string -> IO string
 cssStyleDeclarationGetPropertyShorthand self propertyName
   = (withUTFString propertyName $
        \ propertyNamePtr ->
@@ -96,7 +99,8 @@
       readUTFString
  
 cssStyleDeclarationIsPropertyImplicit ::
-                                      (CSSStyleDeclarationClass self) => self -> String -> IO Bool
+                                      (CSSStyleDeclarationClass self, GlibString string) =>
+                                        self -> string -> IO Bool
 cssStyleDeclarationIsPropertyImplicit self propertyName
   = toBool <$>
       (withUTFString propertyName $
@@ -106,7 +110,8 @@
              propertyNamePtr)
  
 cssStyleDeclarationSetCssText ::
-                              (CSSStyleDeclarationClass self) => self -> String -> IO ()
+                              (CSSStyleDeclarationClass self, GlibString string) =>
+                                self -> string -> IO ()
 cssStyleDeclarationSetCssText self val
   = propagateGError $
       \ errorPtr_ ->
@@ -118,7 +123,8 @@
           errorPtr_
  
 cssStyleDeclarationGetCssText ::
-                              (CSSStyleDeclarationClass self) => self -> IO String
+                              (CSSStyleDeclarationClass self, GlibString string) =>
+                                self -> IO string
 cssStyleDeclarationGetCssText self
   = ({# call webkit_dom_css_style_declaration_get_css_text #}
        (toCSSStyleDeclaration self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/CSSStyleSheet.chs b/Graphics/UI/Gtk/WebKit/DOM/CSSStyleSheet.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/CSSStyleSheet.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/CSSStyleSheet.chs
@@ -13,7 +13,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 cssStyleSheetInsertRule ::
-                        (CSSStyleSheetClass self) => self -> String -> Word -> IO Word
+                        (CSSStyleSheetClass self, GlibString string) =>
+                          self -> string -> Word -> IO Word
 cssStyleSheetInsertRule self rule index
   = fromIntegral <$>
       (propagateGError $
@@ -37,8 +38,8 @@
           errorPtr_
  
 cssStyleSheetAddRule ::
-                     (CSSStyleSheetClass self) =>
-                       self -> String -> String -> Word -> IO Int
+                     (CSSStyleSheetClass self, GlibString string) =>
+                       self -> string -> string -> Word -> IO Int
 cssStyleSheetAddRule self selector style index
   = fromIntegral <$>
       (propagateGError $
diff --git a/Graphics/UI/Gtk/WebKit/DOM/CSSValue.chs b/Graphics/UI/Gtk/WebKit/DOM/CSSValue.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/CSSValue.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/CSSValue.chs
@@ -15,7 +15,7 @@
 cCSS_CUSTOM = 3
  
 cssValueSetCssText ::
-                   (CSSValueClass self) => self -> String -> IO ()
+                   (CSSValueClass self, GlibString string) => self -> string -> IO ()
 cssValueSetCssText self val
   = propagateGError $
       \ errorPtr_ ->
@@ -25,7 +25,8 @@
               valPtr
           errorPtr_
  
-cssValueGetCssText :: (CSSValueClass self) => self -> IO String
+cssValueGetCssText ::
+                   (CSSValueClass self, GlibString string) => self -> IO string
 cssValueGetCssText self
   = ({# call webkit_dom_css_value_get_css_text #} (toCSSValue self))
       >>=
diff --git a/Graphics/UI/Gtk/WebKit/DOM/CharacterData.chs b/Graphics/UI/Gtk/WebKit/DOM/CharacterData.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/CharacterData.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/CharacterData.chs
@@ -14,7 +14,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 characterDataSubstringData ::
-                           (CharacterDataClass self) => self -> Word -> Word -> IO String
+                           (CharacterDataClass self, GlibString string) =>
+                             self -> Word -> Word -> IO string
 characterDataSubstringData self offset length
   = (propagateGError $
        \ errorPtr_ ->
@@ -27,7 +28,8 @@
       readUTFString
  
 characterDataAppendData ::
-                        (CharacterDataClass self) => self -> String -> IO ()
+                        (CharacterDataClass self, GlibString string) =>
+                          self -> string -> IO ()
 characterDataAppendData self data'
   = propagateGError $
       \ errorPtr_ ->
@@ -39,7 +41,8 @@
           errorPtr_
  
 characterDataInsertData ::
-                        (CharacterDataClass self) => self -> Word -> String -> IO ()
+                        (CharacterDataClass self, GlibString string) =>
+                          self -> Word -> string -> IO ()
 characterDataInsertData self offset data'
   = propagateGError $
       \ errorPtr_ ->
@@ -63,8 +66,8 @@
           errorPtr_
  
 characterDataReplaceData ::
-                         (CharacterDataClass self) =>
-                           self -> Word -> Word -> String -> IO ()
+                         (CharacterDataClass self, GlibString string) =>
+                           self -> Word -> Word -> string -> IO ()
 characterDataReplaceData self offset length data'
   = propagateGError $
       \ errorPtr_ ->
@@ -78,7 +81,8 @@
           errorPtr_
  
 characterDataSetData ::
-                     (CharacterDataClass self) => self -> String -> IO ()
+                     (CharacterDataClass self, GlibString string) =>
+                       self -> string -> IO ()
 characterDataSetData self val
   = propagateGError $
       \ errorPtr_ ->
@@ -90,7 +94,7 @@
           errorPtr_
  
 characterDataGetData ::
-                     (CharacterDataClass self) => self -> IO String
+                     (CharacterDataClass self, GlibString string) => self -> IO string
 characterDataGetData self
   = ({# call webkit_dom_character_data_get_data #}
        (toCharacterData self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/Console.chs b/Graphics/UI/Gtk/WebKit/DOM/Console.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/Console.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/Console.chs
@@ -9,7 +9,8 @@
 import System.Glib.GError
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
-consoleTime :: (ConsoleClass self) => self -> String -> IO ()
+consoleTime ::
+            (ConsoleClass self, GlibString string) => self -> string -> IO ()
 consoleTime self title
   = withUTFString title $
       \ titlePtr ->
diff --git a/Graphics/UI/Gtk/WebKit/DOM/DOMImplementation.chs b/Graphics/UI/Gtk/WebKit/DOM/DOMImplementation.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/DOMImplementation.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/DOMImplementation.chs
@@ -14,8 +14,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 domImplementationHasFeature ::
-                            (DOMImplementationClass self) =>
-                              self -> String -> String -> IO Bool
+                            (DOMImplementationClass self, GlibString string) =>
+                              self -> string -> string -> IO Bool
 domImplementationHasFeature self feature version
   = toBool <$>
       (withUTFString version $
@@ -28,8 +28,8 @@
              versionPtr)
  
 domImplementationCreateDocumentType ::
-                                    (DOMImplementationClass self) =>
-                                      self -> String -> String -> String -> IO (Maybe DocumentType)
+                                    (DOMImplementationClass self, GlibString string) =>
+                                      self -> string -> string -> string -> IO (Maybe DocumentType)
 domImplementationCreateDocumentType self qualifiedName publicId
   systemId
   = maybeNull (makeNewGObject mkDocumentType)
@@ -49,8 +49,9 @@
              errorPtr_)
  
 domImplementationCreateDocument ::
-                                (DOMImplementationClass self, DocumentTypeClass doctype) =>
-                                  self -> String -> String -> Maybe doctype -> IO (Maybe Document)
+                                (DOMImplementationClass self, DocumentTypeClass doctype,
+                                 GlibString string) =>
+                                  self -> string -> string -> Maybe doctype -> IO (Maybe Document)
 domImplementationCreateDocument self namespaceURI qualifiedName
   doctype
   = maybeNull (makeNewGObject mkDocument)
@@ -68,8 +69,8 @@
              errorPtr_)
  
 domImplementationCreateCSSStyleSheet ::
-                                     (DOMImplementationClass self) =>
-                                       self -> String -> String -> IO (Maybe CSSStyleSheet)
+                                     (DOMImplementationClass self, GlibString string) =>
+                                       self -> string -> string -> IO (Maybe CSSStyleSheet)
 domImplementationCreateCSSStyleSheet self title media
   = maybeNull (makeNewGObject mkCSSStyleSheet)
       (propagateGError $
@@ -85,8 +86,8 @@
              errorPtr_)
  
 domImplementationCreateHTMLDocument ::
-                                    (DOMImplementationClass self) =>
-                                      self -> String -> IO (Maybe HTMLDocument)
+                                    (DOMImplementationClass self, GlibString string) =>
+                                      self -> string -> IO (Maybe HTMLDocument)
 domImplementationCreateHTMLDocument self title
   = maybeNull (makeNewGObject mkHTMLDocument)
       (withUTFString title $
diff --git a/Graphics/UI/Gtk/WebKit/DOM/DOMMimeType.chs b/Graphics/UI/Gtk/WebKit/DOM/DOMMimeType.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/DOMMimeType.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/DOMMimeType.chs
@@ -11,7 +11,7 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 domMimeTypeGetSuffixes ::
-                       (DOMMimeTypeClass self) => self -> IO String
+                       (DOMMimeTypeClass self, GlibString string) => self -> IO string
 domMimeTypeGetSuffixes self
   = ({# call webkit_dom_dom_mime_type_get_suffixes #}
        (toDOMMimeType self))
@@ -19,7 +19,7 @@
       readUTFString
  
 domMimeTypeGetDescription ::
-                          (DOMMimeTypeClass self) => self -> IO String
+                          (DOMMimeTypeClass self, GlibString string) => self -> IO string
 domMimeTypeGetDescription self
   = ({# call webkit_dom_dom_mime_type_get_description #}
        (toDOMMimeType self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/DOMMimeTypeArray.chs b/Graphics/UI/Gtk/WebKit/DOM/DOMMimeTypeArray.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/DOMMimeTypeArray.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/DOMMimeTypeArray.chs
@@ -20,8 +20,8 @@
          (fromIntegral index))
  
 domMimeTypeArrayNamedItem ::
-                          (DOMMimeTypeArrayClass self) =>
-                            self -> String -> IO (Maybe DOMMimeType)
+                          (DOMMimeTypeArrayClass self, GlibString string) =>
+                            self -> string -> IO (Maybe DOMMimeType)
 domMimeTypeArrayNamedItem self name
   = maybeNull (makeNewGObject mkDOMMimeType)
       (withUTFString name $
diff --git a/Graphics/UI/Gtk/WebKit/DOM/DOMNamedFlowCollection.chs b/Graphics/UI/Gtk/WebKit/DOM/DOMNamedFlowCollection.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/DOMNamedFlowCollection.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/DOMNamedFlowCollection.chs
@@ -26,8 +26,8 @@
          (fromIntegral index))
  
 domNamedFlowCollectionNamedItem ::
-                                (DOMNamedFlowCollectionClass self) =>
-                                  self -> String -> IO (Maybe WebKitNamedFlow)
+                                (DOMNamedFlowCollectionClass self, GlibString string) =>
+                                  self -> string -> IO (Maybe WebKitNamedFlow)
 domNamedFlowCollectionNamedItem self name
   = maybeNull (makeNewGObject mkWebKitNamedFlow)
       (withUTFString name $
diff --git a/Graphics/UI/Gtk/WebKit/DOM/DOMPlugin.chs b/Graphics/UI/Gtk/WebKit/DOM/DOMPlugin.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/DOMPlugin.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/DOMPlugin.chs
@@ -19,7 +19,8 @@
          (fromIntegral index))
  
 domPluginNamedItem ::
-                   (DOMPluginClass self) => self -> String -> IO (Maybe DOMMimeType)
+                   (DOMPluginClass self, GlibString string) =>
+                     self -> string -> IO (Maybe DOMMimeType)
 domPluginNamedItem self name
   = maybeNull (makeNewGObject mkDOMMimeType)
       (withUTFString name $
@@ -27,13 +28,15 @@
            {# call webkit_dom_dom_plugin_named_item #} (toDOMPlugin self)
              namePtr)
  
-domPluginGetName :: (DOMPluginClass self) => self -> IO String
+domPluginGetName ::
+                 (DOMPluginClass self, GlibString string) => self -> IO string
 domPluginGetName self
   = ({# call webkit_dom_dom_plugin_get_name #} (toDOMPlugin self))
       >>=
       readUTFString
  
-domPluginGetFilename :: (DOMPluginClass self) => self -> IO String
+domPluginGetFilename ::
+                     (DOMPluginClass self, GlibString string) => self -> IO string
 domPluginGetFilename self
   = ({# call webkit_dom_dom_plugin_get_filename #}
        (toDOMPlugin self))
@@ -41,7 +44,7 @@
       readUTFString
  
 domPluginGetDescription ::
-                        (DOMPluginClass self) => self -> IO String
+                        (DOMPluginClass self, GlibString string) => self -> IO string
 domPluginGetDescription self
   = ({# call webkit_dom_dom_plugin_get_description #}
        (toDOMPlugin self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/DOMPluginArray.chs b/Graphics/UI/Gtk/WebKit/DOM/DOMPluginArray.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/DOMPluginArray.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/DOMPluginArray.chs
@@ -20,8 +20,8 @@
          (fromIntegral index))
  
 domPluginArrayNamedItem ::
-                        (DOMPluginArrayClass self) =>
-                          self -> String -> IO (Maybe DOMPlugin)
+                        (DOMPluginArrayClass self, GlibString string) =>
+                          self -> string -> IO (Maybe DOMPlugin)
 domPluginArrayNamedItem self name
   = maybeNull (makeNewGObject mkDOMPlugin)
       (withUTFString name $
diff --git a/Graphics/UI/Gtk/WebKit/DOM/DOMSecurityPolicy.chs b/Graphics/UI/Gtk/WebKit/DOM/DOMSecurityPolicy.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/DOMSecurityPolicy.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/DOMSecurityPolicy.chs
@@ -32,13 +32,20 @@
   ({# call webkit_dom_dom_security_policy_is_active #} (toDOMSecurityPolicy self))
 #endif
 
-domSecurityPolicyAllowsConnectionTo :: (DOMSecurityPolicyClass self) => self -> String -> IO Bool
-domSecurityPolicyAllowsConnectionTo self url = toBool <$>
-  (withUTFString url $ \urlPtr ->
-     {# call webkit_dom_dom_security_policy_allows_connection_to #} (toDOMSecurityPolicy self) urlPtr)
+domSecurityPolicyAllowsConnectionTo ::
+                                    (DOMSecurityPolicyClass self, GlibString string) =>
+                                      self -> string -> IO Bool
+domSecurityPolicyAllowsConnectionTo self url
+  = toBool <$>
+      (withUTFString url $
+         \ urlPtr ->
+           {# call webkit_dom_dom_security_policy_allows_connection_to #}
+             (toDOMSecurityPolicy self)
+             urlPtr)
 
 domSecurityPolicyAllowsFontFrom ::
-                                (DOMSecurityPolicyClass self) => self -> String -> IO Bool
+                                (DOMSecurityPolicyClass self, GlibString string) =>
+                                  self -> string -> IO Bool
 domSecurityPolicyAllowsFontFrom self url
   = toBool <$>
       (withUTFString url $
@@ -48,7 +55,8 @@
              urlPtr)
 
 domSecurityPolicyAllowsFormAction ::
-                                  (DOMSecurityPolicyClass self) => self -> String -> IO Bool
+                                  (DOMSecurityPolicyClass self, GlibString string) =>
+                                    self -> string -> IO Bool
 domSecurityPolicyAllowsFormAction self url
   = toBool <$>
       (withUTFString url $
@@ -58,7 +66,8 @@
              urlPtr)
 
 domSecurityPolicyAllowsFrameFrom ::
-                                 (DOMSecurityPolicyClass self) => self -> String -> IO Bool
+                                 (DOMSecurityPolicyClass self, GlibString string) =>
+                                   self -> string -> IO Bool
 domSecurityPolicyAllowsFrameFrom self url
   = toBool <$>
       (withUTFString url $
@@ -68,7 +77,8 @@
              urlPtr)
 
 domSecurityPolicyAllowsImageFrom ::
-                                 (DOMSecurityPolicyClass self) => self -> String -> IO Bool
+                                 (DOMSecurityPolicyClass self, GlibString string) =>
+                                   self -> string -> IO Bool
 domSecurityPolicyAllowsImageFrom self url
   = toBool <$>
       (withUTFString url $
@@ -78,7 +88,8 @@
              urlPtr)
 
 domSecurityPolicyAllowsMediaFrom ::
-                                 (DOMSecurityPolicyClass self) => self -> String -> IO Bool
+                                 (DOMSecurityPolicyClass self, GlibString string) =>
+                                   self -> string -> IO Bool
 domSecurityPolicyAllowsMediaFrom self url
   = toBool <$>
       (withUTFString url $
@@ -88,7 +99,8 @@
              urlPtr)
 
 domSecurityPolicyAllowsObjectFrom ::
-                                  (DOMSecurityPolicyClass self) => self -> String -> IO Bool
+                                  (DOMSecurityPolicyClass self, GlibString string) =>
+                                    self -> string -> IO Bool
 domSecurityPolicyAllowsObjectFrom self url
   = toBool <$>
       (withUTFString url $
@@ -98,7 +110,8 @@
              urlPtr)
 
 domSecurityPolicyAllowsPluginType ::
-                                  (DOMSecurityPolicyClass self) => self -> String -> IO Bool
+                                  (DOMSecurityPolicyClass self, GlibString string) =>
+                                    self -> string -> IO Bool
 domSecurityPolicyAllowsPluginType self type'
   = toBool <$>
       (withUTFString type' $
@@ -108,7 +121,8 @@
              typePtr)
 
 domSecurityPolicyAllowsScriptFrom ::
-                                  (DOMSecurityPolicyClass self) => self -> String -> IO Bool
+                                  (DOMSecurityPolicyClass self, GlibString string) =>
+                                    self -> string -> IO Bool
 domSecurityPolicyAllowsScriptFrom self url
   = toBool <$>
       (withUTFString url $
@@ -118,7 +132,8 @@
              urlPtr)
 
 domSecurityPolicyAllowsStyleFrom ::
-                                 (DOMSecurityPolicyClass self) => self -> String -> IO Bool
+                                 (DOMSecurityPolicyClass self, GlibString string) =>
+                                   self -> string -> IO Bool
 domSecurityPolicyAllowsStyleFrom self url
   = toBool <$>
       (withUTFString url $
diff --git a/Graphics/UI/Gtk/WebKit/DOM/DOMSelection.chs b/Graphics/UI/Gtk/WebKit/DOM/DOMSelection.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/DOMSelection.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/DOMSelection.chs
@@ -114,8 +114,8 @@
       (maybe (DOMRange nullForeignPtr) toDOMRange range)
  
 domSelectionModify ::
-                   (DOMSelectionClass self) =>
-                     self -> String -> String -> String -> IO ()
+                   (DOMSelectionClass self, GlibString string) =>
+                     self -> string -> string -> string -> IO ()
 domSelectionModify self alter direction granularity
   = withUTFString granularity $
       \ granularityPtr ->
diff --git a/Graphics/UI/Gtk/WebKit/DOM/DOMSettableTokenList.chs b/Graphics/UI/Gtk/WebKit/DOM/DOMSettableTokenList.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/DOMSettableTokenList.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/DOMSettableTokenList.chs
@@ -12,7 +12,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 domSettableTokenListSetValue ::
-                             (DOMSettableTokenListClass self) => self -> String -> IO ()
+                             (DOMSettableTokenListClass self, GlibString string) =>
+                               self -> string -> IO ()
 domSettableTokenListSetValue self val
   = withUTFString val $
       \ valPtr ->
@@ -21,7 +22,8 @@
           valPtr
  
 domSettableTokenListGetValue ::
-                             (DOMSettableTokenListClass self) => self -> IO String
+                             (DOMSettableTokenListClass self, GlibString string) =>
+                               self -> IO string
 domSettableTokenListGetValue self
   = ({# call webkit_dom_dom_settable_token_list_get_value #}
        (toDOMSettableTokenList self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/DOMStringList.chs b/Graphics/UI/Gtk/WebKit/DOM/DOMStringList.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/DOMStringList.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/DOMStringList.chs
@@ -11,7 +11,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 domStringListItem ::
-                  (DOMStringListClass self) => self -> Word -> IO String
+                  (DOMStringListClass self, GlibString string) =>
+                    self -> Word -> IO string
 domStringListItem self index
   = ({# call webkit_dom_dom_string_list_item #}
        (toDOMStringList self)
@@ -20,7 +21,8 @@
       readUTFString
  
 domStringListContains ::
-                      (DOMStringListClass self) => self -> String -> IO Bool
+                      (DOMStringListClass self, GlibString string) =>
+                        self -> string -> IO Bool
 domStringListContains self string
   = toBool <$>
       (withUTFString string $
diff --git a/Graphics/UI/Gtk/WebKit/DOM/DOMTokenList.chs b/Graphics/UI/Gtk/WebKit/DOM/DOMTokenList.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/DOMTokenList.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/DOMTokenList.chs
@@ -12,7 +12,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
 
 domTokenListItem ::
-                 (DOMTokenListClass self) => self -> Word -> IO String
+                 (DOMTokenListClass self, GlibString string) =>
+                   self -> Word -> IO string
 domTokenListItem self index
   = ({# call webkit_dom_dom_token_list_item #} (toDOMTokenList self)
        (fromIntegral index))
@@ -20,7 +21,8 @@
       readUTFString
 
 domTokenListContains ::
-                     (DOMTokenListClass self) => self -> String -> IO Bool
+                     (DOMTokenListClass self, GlibString string) =>
+                       self -> string -> IO Bool
 domTokenListContains self token
   = toBool <$>
       (propagateGError $
@@ -32,7 +34,7 @@
              errorPtr_)
 
 domTokenListAdd ::
-                (DOMTokenListClass self) => self -> String -> IO ()
+                (DOMTokenListClass self, GlibString string) => self -> string -> IO ()
 domTokenListAdd self token
   = propagateGError $
       \ errorPtr_ ->
@@ -43,7 +45,7 @@
           errorPtr_
 
 domTokenListRemove ::
-                   (DOMTokenListClass self) => self -> String -> IO ()
+                   (DOMTokenListClass self, GlibString string) => self -> string -> IO ()
 domTokenListRemove self token
   = propagateGError $
       \ errorPtr_ ->
@@ -54,12 +56,14 @@
           errorPtr_
 
 #if WEBKIT_CHECK_VERSION(2,0,0)
-domTokenListToggle :: (DOMTokenListClass self) => self -> String -> Bool -> IO Bool
+domTokenListToggle ::
+                   (DOMTokenListClass self, GlibString string) =>
+                     self -> string -> Bool -> IO Bool
 domTokenListToggle self token force = toBool <$> (propagateGError $ \errorPtr_ -> withUTFString token $ \tokenPtr ->
     {# call webkit_dom_dom_token_list_toggle #} (toDOMTokenList self) tokenPtr (fromBool force) errorPtr_)
 #else
 domTokenListToggle ::
-                   (DOMTokenListClass self) => self -> String -> IO Bool
+                   (DOMTokenListClass self, GlibString string) => self -> string -> IO Bool
 domTokenListToggle self token
   = toBool <$>
       (propagateGError $
diff --git a/Graphics/UI/Gtk/WebKit/DOM/DOMWindow.chs b/Graphics/UI/Gtk/WebKit/DOM/DOMWindow.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/DOMWindow.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/DOMWindow.chs
@@ -98,7 +98,8 @@
 domWindowStop self
   = {# call webkit_dom_dom_window_stop #} (toDOMWindow self)
  
-domWindowAlert :: (DOMWindowClass self) => self -> String -> IO ()
+domWindowAlert ::
+               (DOMWindowClass self, GlibString string) => self -> string -> IO ()
 domWindowAlert self message
   = withUTFString message $
       \ messagePtr ->
@@ -106,7 +107,8 @@
           messagePtr
  
 domWindowConfirm ::
-                 (DOMWindowClass self) => self -> String -> IO Bool
+                 (DOMWindowClass self, GlibString string) =>
+                   self -> string -> IO Bool
 domWindowConfirm self message
   = toBool <$>
       (withUTFString message $
@@ -115,7 +117,8 @@
              messagePtr)
  
 domWindowPrompt ::
-                (DOMWindowClass self) => self -> String -> String -> IO String
+                (DOMWindowClass self, GlibString string) =>
+                  self -> string -> string -> IO string
 domWindowPrompt self message defaultValue
   = (withUTFString defaultValue $
        \ defaultValuePtr ->
@@ -128,9 +131,9 @@
       readUTFString
  
 domWindowFind ::
-              (DOMWindowClass self) =>
+              (DOMWindowClass self, GlibString string) =>
                 self ->
-                  String -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> IO Bool
+                  string -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> IO Bool
 domWindowFind self string caseSensitive backwards wrap wholeWord
   searchInFrames showDialog
   = toBool <$>
@@ -194,8 +197,8 @@
       (realToFrac height)
  
 domWindowMatchMedia ::
-                    (DOMWindowClass self) =>
-                      self -> String -> IO (Maybe MediaQueryList)
+                    (DOMWindowClass self, GlibString string) =>
+                      self -> string -> IO (Maybe MediaQueryList)
 domWindowMatchMedia self query
   = maybeNull (makeNewGObject mkMediaQueryList)
       (withUTFString query $
@@ -204,8 +207,8 @@
              queryPtr)
  
 domWindowGetComputedStyle ::
-                          (DOMWindowClass self, ElementClass element) =>
-                            self -> Maybe element -> String -> IO (Maybe CSSStyleDeclaration)
+                          (DOMWindowClass self, ElementClass element, GlibString string) =>
+                            self -> Maybe element -> string -> IO (Maybe CSSStyleDeclaration)
 domWindowGetComputedStyle self element pseudoElement
   = maybeNull (makeNewGObject mkCSSStyleDeclaration)
       (withUTFString pseudoElement $
@@ -255,7 +258,7 @@
       (fromIntegral handle)
  
 domWindowAtob ::
-              (DOMWindowClass self) => self -> String -> IO String
+              (DOMWindowClass self, GlibString string) => self -> string -> IO string
 domWindowAtob self string
   = (propagateGError $
        \ errorPtr_ ->
@@ -267,7 +270,7 @@
       readUTFString
  
 domWindowBtoa ::
-              (DOMWindowClass self) => self -> String -> IO String
+              (DOMWindowClass self, GlibString string) => self -> string -> IO string
 domWindowBtoa self string
   = (propagateGError $
        \ errorPtr_ ->
@@ -458,34 +461,36 @@
       ({# call webkit_dom_dom_window_get_length #} (toDOMWindow self))
  
 domWindowSetName ::
-                 (DOMWindowClass self) => self -> String -> IO ()
+                 (DOMWindowClass self, GlibString string) => self -> string -> IO ()
 domWindowSetName self val
   = withUTFString val $
       \ valPtr ->
         {# call webkit_dom_dom_window_set_name #} (toDOMWindow self) valPtr
  
-domWindowGetName :: (DOMWindowClass self) => self -> IO String
+domWindowGetName ::
+                 (DOMWindowClass self, GlibString string) => self -> IO string
 domWindowGetName self
   = ({# call webkit_dom_dom_window_get_name #} (toDOMWindow self))
       >>=
       readUTFString
  
 domWindowSetStatus ::
-                   (DOMWindowClass self) => self -> String -> IO ()
+                   (DOMWindowClass self, GlibString string) => self -> string -> IO ()
 domWindowSetStatus self val
   = withUTFString val $
       \ valPtr ->
         {# call webkit_dom_dom_window_set_status #} (toDOMWindow self)
           valPtr
  
-domWindowGetStatus :: (DOMWindowClass self) => self -> IO String
+domWindowGetStatus ::
+                   (DOMWindowClass self, GlibString string) => self -> IO string
 domWindowGetStatus self
   = ({# call webkit_dom_dom_window_get_status #} (toDOMWindow self))
       >>=
       readUTFString
  
 domWindowSetDefaultStatus ::
-                          (DOMWindowClass self) => self -> String -> IO ()
+                          (DOMWindowClass self, GlibString string) => self -> string -> IO ()
 domWindowSetDefaultStatus self val
   = withUTFString val $
       \ valPtr ->
@@ -494,7 +499,7 @@
           valPtr
  
 domWindowGetDefaultStatus ::
-                          (DOMWindowClass self) => self -> IO String
+                          (DOMWindowClass self, GlibString string) => self -> IO string
 domWindowGetDefaultStatus self
   = ({# call webkit_dom_dom_window_get_default_status #}
        (toDOMWindow self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/DOMWindowCSS.chs b/Graphics/UI/Gtk/WebKit/DOM/DOMWindowCSS.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/DOMWindowCSS.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/DOMWindowCSS.chs
@@ -14,7 +14,8 @@
  
 #if WEBKIT_CHECK_VERSION(2,2,2)
 domWindowCSSSupports ::
-                     (DOMWindowCSSClass self) => self -> String -> String -> IO Bool
+                     (DOMWindowCSSClass self, GlibString string) =>
+                       self -> string -> string -> IO Bool
 domWindowCSSSupports self property value
   = toBool <$>
       (withUTFString value $
diff --git a/Graphics/UI/Gtk/WebKit/DOM/Document.chs b/Graphics/UI/Gtk/WebKit/DOM/Document.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/Document.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/Document.chs
@@ -82,7 +82,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
 
 documentCreateElement ::
-                      (DocumentClass self) => self -> String -> IO (Maybe Element)
+                      (DocumentClass self, GlibString string) =>
+                        self -> string -> IO (Maybe Element)
 documentCreateElement self tagName
   = maybeNull (makeNewGObject mkElement)
       (propagateGError $
@@ -101,7 +102,8 @@
          (toDocument self))
 
 documentCreateTextNode ::
-                       (DocumentClass self) => self -> String -> IO (Maybe Text)
+                       (DocumentClass self, GlibString string) =>
+                         self -> string -> IO (Maybe Text)
 documentCreateTextNode self data'
   = maybeNull (makeNewGObject mkText)
       (withUTFString data' $
@@ -110,7 +112,8 @@
              dataPtr)
 
 documentCreateComment ::
-                      (DocumentClass self) => self -> String -> IO (Maybe Comment)
+                      (DocumentClass self, GlibString string) =>
+                        self -> string -> IO (Maybe Comment)
 documentCreateComment self data'
   = maybeNull (makeNewGObject mkComment)
       (withUTFString data' $
@@ -119,7 +122,8 @@
              dataPtr)
 
 documentCreateCDATASection ::
-                           (DocumentClass self) => self -> String -> IO (Maybe CDATASection)
+                           (DocumentClass self, GlibString string) =>
+                             self -> string -> IO (Maybe CDATASection)
 documentCreateCDATASection self data'
   = maybeNull (makeNewGObject mkCDATASection)
       (propagateGError $
@@ -132,8 +136,8 @@
              errorPtr_)
 
 documentCreateProcessingInstruction ::
-                                    (DocumentClass self) =>
-                                      self -> String -> String -> IO (Maybe ProcessingInstruction)
+                                    (DocumentClass self, GlibString string) =>
+                                      self -> string -> string -> IO (Maybe ProcessingInstruction)
 documentCreateProcessingInstruction self target data'
   = maybeNull (makeNewGObject mkProcessingInstruction)
       (propagateGError $
@@ -149,7 +153,8 @@
              errorPtr_)
 
 documentCreateAttribute ::
-                        (DocumentClass self) => self -> String -> IO (Maybe DOMAttr)
+                        (DocumentClass self, GlibString string) =>
+                          self -> string -> IO (Maybe DOMAttr)
 documentCreateAttribute self name
   = maybeNull (makeNewGObject mkDOMAttr)
       (propagateGError $
@@ -161,8 +166,8 @@
              errorPtr_)
 
 documentCreateEntityReference ::
-                              (DocumentClass self) =>
-                                self -> String -> IO (Maybe EntityReference)
+                              (DocumentClass self, GlibString string) =>
+                                self -> string -> IO (Maybe EntityReference)
 documentCreateEntityReference self name
   = maybeNull (makeNewGObject mkEntityReference)
       (propagateGError $
@@ -175,7 +180,8 @@
              errorPtr_)
 
 documentGetElementsByTagName ::
-                             (DocumentClass self) => self -> String -> IO (Maybe NodeList)
+                             (DocumentClass self, GlibString string) =>
+                               self -> string -> IO (Maybe NodeList)
 documentGetElementsByTagName self tagname
   = maybeNull (makeNewGObject mkNodeList)
       (withUTFString tagname $
@@ -197,8 +203,8 @@
              errorPtr_)
 
 documentCreateElementNS ::
-                        (DocumentClass self) =>
-                          self -> String -> String -> IO (Maybe Element)
+                        (DocumentClass self, GlibString string) =>
+                          self -> string -> string -> IO (Maybe Element)
 documentCreateElementNS self namespaceURI qualifiedName
   = maybeNull (makeNewGObject mkElement)
       (propagateGError $
@@ -213,8 +219,8 @@
              errorPtr_)
 
 documentCreateAttributeNS ::
-                          (DocumentClass self) =>
-                            self -> String -> String -> IO (Maybe DOMAttr)
+                          (DocumentClass self, GlibString string) =>
+                            self -> string -> string -> IO (Maybe DOMAttr)
 documentCreateAttributeNS self namespaceURI qualifiedName
   = maybeNull (makeNewGObject mkDOMAttr)
       (propagateGError $
@@ -230,8 +236,8 @@
              errorPtr_)
 
 documentGetElementsByTagNameNS ::
-                               (DocumentClass self) =>
-                                 self -> String -> String -> IO (Maybe NodeList)
+                               (DocumentClass self, GlibString string) =>
+                                 self -> string -> string -> IO (Maybe NodeList)
 documentGetElementsByTagNameNS self namespaceURI localName
   = maybeNull (makeNewGObject mkNodeList)
       (withUTFString localName $
@@ -244,7 +250,8 @@
              localNamePtr)
 
 documentGetElementById ::
-                       (DocumentClass self) => self -> String -> IO (Maybe Element)
+                       (DocumentClass self, GlibString string) =>
+                         self -> string -> IO (Maybe Element)
 documentGetElementById self elementId
   = maybeNull (makeNewGObject mkElement)
       (withUTFString elementId $
@@ -264,7 +271,8 @@
              errorPtr_)
 
 documentCreateEvent ::
-                    (DocumentClass self) => self -> String -> IO (Maybe Event)
+                    (DocumentClass self, GlibString string) =>
+                      self -> string -> IO (Maybe Event)
 documentCreateEvent self eventType
   = maybeNull (makeNewGObject mkEvent)
       (propagateGError $
@@ -316,8 +324,8 @@
              errorPtr_)
 
 documentGetOverrideStyle ::
-                         (DocumentClass self, ElementClass element) =>
-                           self -> Maybe element -> String -> IO (Maybe CSSStyleDeclaration)
+                         (DocumentClass self, ElementClass element, GlibString string) =>
+                           self -> Maybe element -> string -> IO (Maybe CSSStyleDeclaration)
 documentGetOverrideStyle self element pseudoElement
   = maybeNull (makeNewGObject mkCSSStyleDeclaration)
       (withUTFString pseudoElement $
@@ -327,8 +335,9 @@
              pseudoElementPtr)
 
 documentCreateExpression ::
-                         (DocumentClass self, XPathNSResolverClass resolver) =>
-                           self -> String -> Maybe resolver -> IO (Maybe XPathExpression)
+                         (DocumentClass self, XPathNSResolverClass resolver,
+                          GlibString string) =>
+                           self -> string -> Maybe resolver -> IO (Maybe XPathExpression)
 documentCreateExpression self expression resolver
   = maybeNull (makeNewGObject mkXPathExpression)
       (propagateGError $
@@ -351,9 +360,10 @@
 
 documentEvaluate ::
                  (DocumentClass self, NodeClass contextNode,
-                  XPathNSResolverClass resolver, XPathResultClass inResult) =>
+                  XPathNSResolverClass resolver, XPathResultClass inResult,
+                  GlibString string) =>
                    self ->
-                     String ->
+                     string ->
                        Maybe contextNode ->
                          Maybe resolver -> Word -> Maybe inResult -> IO (Maybe XPathResult)
 documentEvaluate self expression contextNode resolver type'
@@ -372,7 +382,8 @@
              errorPtr_)
 
 documentExecCommand ::
-                    (DocumentClass self) => self -> String -> Bool -> String -> IO Bool
+                    (DocumentClass self, GlibString string) =>
+                      self -> string -> Bool -> string -> IO Bool
 documentExecCommand self command userInterface value
   = toBool <$>
       (withUTFString value $
@@ -385,7 +396,8 @@
              valuePtr)
 
 documentQueryCommandEnabled ::
-                            (DocumentClass self) => self -> String -> IO Bool
+                            (DocumentClass self, GlibString string) =>
+                              self -> string -> IO Bool
 documentQueryCommandEnabled self command
   = toBool <$>
       (withUTFString command $
@@ -395,7 +407,8 @@
              commandPtr)
 
 documentQueryCommandIndeterm ::
-                             (DocumentClass self) => self -> String -> IO Bool
+                             (DocumentClass self, GlibString string) =>
+                               self -> string -> IO Bool
 documentQueryCommandIndeterm self command
   = toBool <$>
       (withUTFString command $
@@ -405,7 +418,8 @@
              commandPtr)
 
 documentQueryCommandState ::
-                          (DocumentClass self) => self -> String -> IO Bool
+                          (DocumentClass self, GlibString string) =>
+                            self -> string -> IO Bool
 documentQueryCommandState self command
   = toBool <$>
       (withUTFString command $
@@ -415,7 +429,8 @@
              commandPtr)
 
 documentQueryCommandSupported ::
-                              (DocumentClass self) => self -> String -> IO Bool
+                              (DocumentClass self, GlibString string) =>
+                                self -> string -> IO Bool
 documentQueryCommandSupported self command
   = toBool <$>
       (withUTFString command $
@@ -425,7 +440,8 @@
              commandPtr)
 
 documentQueryCommandValue ::
-                          (DocumentClass self) => self -> String -> IO String
+                          (DocumentClass self, GlibString string) =>
+                            self -> string -> IO string
 documentQueryCommandValue self command
   = (withUTFString command $
        \ commandPtr ->
@@ -436,7 +452,8 @@
       readUTFString
 
 documentGetElementsByName ::
-                          (DocumentClass self) => self -> String -> IO (Maybe NodeList)
+                          (DocumentClass self, GlibString string) =>
+                            self -> string -> IO (Maybe NodeList)
 documentGetElementsByName self elementName
   = maybeNull (makeNewGObject mkNodeList)
       (withUTFString elementName $
@@ -471,7 +488,8 @@
          (toDocument self))
 
 documentGetElementsByClassName ::
-                               (DocumentClass self) => self -> String -> IO (Maybe NodeList)
+                               (DocumentClass self, GlibString string) =>
+                                 self -> string -> IO (Maybe NodeList)
 documentGetElementsByClassName self tagname
   = maybeNull (makeNewGObject mkNodeList)
       (withUTFString tagname $
@@ -481,7 +499,8 @@
              tagnamePtr)
 
 documentQuerySelector ::
-                      (DocumentClass self) => self -> String -> IO (Maybe Element)
+                      (DocumentClass self, GlibString string) =>
+                        self -> string -> IO (Maybe Element)
 documentQuerySelector self selectors
   = maybeNull (makeNewGObject mkElement)
       (propagateGError $
@@ -493,7 +512,8 @@
              errorPtr_)
 
 documentQuerySelectorAll ::
-                         (DocumentClass self) => self -> String -> IO (Maybe NodeList)
+                         (DocumentClass self, GlibString string) =>
+                           self -> string -> IO (Maybe NodeList)
 documentQuerySelectorAll self selectors
   = maybeNull (makeNewGObject mkNodeList)
       (propagateGError $
@@ -540,14 +560,15 @@
          (toDocument self))
 
 documentGetInputEncoding ::
-                         (DocumentClass self) => self -> IO String
+                         (DocumentClass self, GlibString string) => self -> IO string
 documentGetInputEncoding self
   = ({# call webkit_dom_document_get_input_encoding #}
        (toDocument self))
       >>=
       readUTFString
-
-documentGetXmlEncoding :: (DocumentClass self) => self -> IO String
+ 
+documentGetXmlEncoding ::
+                       (DocumentClass self, GlibString string) => self -> IO string
 documentGetXmlEncoding self
   = ({# call webkit_dom_document_get_xml_encoding #}
        (toDocument self))
@@ -555,7 +576,7 @@
       readUTFString
 
 documentSetXmlVersion ::
-                      (DocumentClass self) => self -> String -> IO ()
+                      (DocumentClass self, GlibString string) => self -> string -> IO ()
 documentSetXmlVersion self val
   = propagateGError $
       \ errorPtr_ ->
@@ -564,8 +585,9 @@
             {# call webkit_dom_document_set_xml_version #} (toDocument self)
               valPtr
           errorPtr_
-
-documentGetXmlVersion :: (DocumentClass self) => self -> IO String
+ 
+documentGetXmlVersion ::
+                      (DocumentClass self, GlibString string) => self -> IO string
 documentGetXmlVersion self
   = ({# call webkit_dom_document_get_xml_version #}
        (toDocument self))
@@ -588,14 +610,15 @@
          (toDocument self))
 
 documentSetDocumentURI ::
-                       (DocumentClass self) => self -> String -> IO ()
+                       (DocumentClass self, GlibString string) => self -> string -> IO ()
 documentSetDocumentURI self val
   = withUTFString val $
       \ valPtr ->
         {# call webkit_dom_document_set_document_uri #} (toDocument self)
           valPtr
-
-documentGetDocumentURI :: (DocumentClass self) => self -> IO String
+ 
+documentGetDocumentURI ::
+                       (DocumentClass self, GlibString string) => self -> IO string
 documentGetDocumentURI self
   = ({# call webkit_dom_document_get_document_uri #}
        (toDocument self))
@@ -613,31 +636,35 @@
 documentGetStyleSheets self
   = maybeNull (makeNewGObject mkStyleSheetList)
       ({# call webkit_dom_document_get_style_sheets #} (toDocument self))
-
-documentSetTitle :: (DocumentClass self) => self -> String -> IO ()
+ 
+documentSetTitle ::
+                 (DocumentClass self, GlibString string) => self -> string -> IO ()
 documentSetTitle self val
   = withUTFString val $
       \ valPtr ->
         {# call webkit_dom_document_set_title #} (toDocument self) valPtr
-
-documentGetTitle :: (DocumentClass self) => self -> IO String
+ 
+documentGetTitle ::
+                 (DocumentClass self, GlibString string) => self -> IO string
 documentGetTitle self
   = ({# call webkit_dom_document_get_title #} (toDocument self)) >>=
       readUTFString
-
-documentGetReferrer :: (DocumentClass self) => self -> IO String
+ 
+documentGetReferrer ::
+                    (DocumentClass self, GlibString string) => self -> IO string
 documentGetReferrer self
   = ({# call webkit_dom_document_get_referrer #} (toDocument self))
       >>=
       readUTFString
-
-documentGetDomain :: (DocumentClass self) => self -> IO String
+ 
+documentGetDomain ::
+                  (DocumentClass self, GlibString string) => self -> IO string
 documentGetDomain self
   = ({# call webkit_dom_document_get_domain #} (toDocument self)) >>=
       readUTFString
 
 documentSetCookie ::
-                  (DocumentClass self) => self -> String -> IO ()
+                  (DocumentClass self, GlibString string) => self -> string -> IO ()
 documentSetCookie self val
   = propagateGError $
       \ errorPtr_ ->
@@ -645,8 +672,9 @@
           \ valPtr ->
             {# call webkit_dom_document_set_cookie #} (toDocument self) valPtr
           errorPtr_
-
-documentGetCookie :: (DocumentClass self) => self -> IO String
+ 
+documentGetCookie ::
+                  (DocumentClass self, GlibString string) => self -> IO string
 documentGetCookie self
   = (propagateGError $
        \ errorPtr_ ->
@@ -708,7 +736,7 @@
       ({# call webkit_dom_document_get_anchors #} (toDocument self))
 
 documentGetLastModified ::
-                        (DocumentClass self) => self -> IO String
+                        (DocumentClass self, GlibString string) => self -> IO string
 documentGetLastModified self
   = ({# call webkit_dom_document_get_last_modified #}
        (toDocument self))
@@ -716,27 +744,29 @@
       readUTFString
 
 documentSetCharset ::
-                   (DocumentClass self) => self -> String -> IO ()
+                   (DocumentClass self, GlibString string) => self -> string -> IO ()
 documentSetCharset self val
   = withUTFString val $
       \ valPtr ->
         {# call webkit_dom_document_set_charset #} (toDocument self) valPtr
-
-documentGetCharset :: (DocumentClass self) => self -> IO String
+ 
+documentGetCharset ::
+                   (DocumentClass self, GlibString string) => self -> IO string
 documentGetCharset self
   = ({# call webkit_dom_document_get_charset #} (toDocument self))
       >>=
       readUTFString
 
 documentGetDefaultCharset ::
-                          (DocumentClass self) => self -> IO String
+                          (DocumentClass self, GlibString string) => self -> IO string
 documentGetDefaultCharset self
   = ({# call webkit_dom_document_get_default_charset #}
        (toDocument self))
       >>=
       readUTFString
-
-documentGetReadyState :: (DocumentClass self) => self -> IO String
+ 
+documentGetReadyState ::
+                      (DocumentClass self, GlibString string) => self -> IO string
 documentGetReadyState self
   = ({# call webkit_dom_document_get_ready_state #}
        (toDocument self))
@@ -744,7 +774,7 @@
       readUTFString
 
 documentGetCharacterSet ::
-                        (DocumentClass self) => self -> IO String
+                        (DocumentClass self, GlibString string) => self -> IO string
 documentGetCharacterSet self
   = ({# call webkit_dom_document_get_character_set #}
        (toDocument self))
@@ -752,7 +782,7 @@
       readUTFString
 
 documentGetPreferredStylesheetSet ::
-                                  (DocumentClass self) => self -> IO String
+                                  (DocumentClass self, GlibString string) => self -> IO string
 documentGetPreferredStylesheetSet self
   = ({# call webkit_dom_document_get_preferred_stylesheet_set #}
        (toDocument self))
@@ -760,7 +790,7 @@
       readUTFString
 
 documentSetSelectedStylesheetSet ::
-                                 (DocumentClass self) => self -> String -> IO ()
+                                 (DocumentClass self, GlibString string) => self -> string -> IO ()
 documentSetSelectedStylesheetSet self val
   = withUTFString val $
       \ valPtr ->
@@ -769,14 +799,15 @@
           valPtr
 
 documentGetSelectedStylesheetSet ::
-                                 (DocumentClass self) => self -> IO String
+                                 (DocumentClass self, GlibString string) => self -> IO string
 documentGetSelectedStylesheetSet self
   = ({# call webkit_dom_document_get_selected_stylesheet_set #}
        (toDocument self))
       >>=
       readUTFString
-
-documentGetCompatMode :: (DocumentClass self) => self -> IO String
+ 
+documentGetCompatMode ::
+                      (DocumentClass self, GlibString string) => self -> IO string
 documentGetCompatMode self
   = ({# call webkit_dom_document_get_compat_mode #}
        (toDocument self))
@@ -1011,7 +1042,7 @@
 #endif
 
 documentGetVisibilityState ::
-                           (DocumentClass self) => self -> IO String
+                           (DocumentClass self, GlibString string) => self -> IO string
 documentGetVisibilityState self
 #if WEBKIT_CHECK_VERSION(2,2,2)
   = ({# call webkit_dom_document_get_visibility_state #}
diff --git a/Graphics/UI/Gtk/WebKit/DOM/DocumentType.chs b/Graphics/UI/Gtk/WebKit/DOM/DocumentType.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/DocumentType.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/DocumentType.chs
@@ -13,7 +13,7 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 documentTypeGetName ::
-                    (DocumentTypeClass self) => self -> IO String
+                    (DocumentTypeClass self, GlibString string) => self -> IO string
 documentTypeGetName self
   = ({# call webkit_dom_document_type_get_name #}
        (toDocumentType self))
@@ -35,7 +35,7 @@
          (toDocumentType self))
  
 documentTypeGetPublicId ::
-                        (DocumentTypeClass self) => self -> IO String
+                        (DocumentTypeClass self, GlibString string) => self -> IO string
 documentTypeGetPublicId self
   = ({# call webkit_dom_document_type_get_public_id #}
        (toDocumentType self))
@@ -43,7 +43,7 @@
       readUTFString
  
 documentTypeGetSystemId ::
-                        (DocumentTypeClass self) => self -> IO String
+                        (DocumentTypeClass self, GlibString string) => self -> IO string
 documentTypeGetSystemId self
   = ({# call webkit_dom_document_type_get_system_id #}
        (toDocumentType self))
@@ -51,7 +51,7 @@
       readUTFString
  
 documentTypeGetInternalSubset ::
-                              (DocumentTypeClass self) => self -> IO String
+                              (DocumentTypeClass self, GlibString string) => self -> IO string
 documentTypeGetInternalSubset self
   = ({# call webkit_dom_document_type_get_internal_subset #}
        (toDocumentType self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/Element.chs b/Graphics/UI/Gtk/WebKit/DOM/Element.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/Element.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/Element.chs
@@ -68,7 +68,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 elementGetAttribute ::
-                    (ElementClass self) => self -> String -> IO String
+                    (ElementClass self, GlibString string) =>
+                      self -> string -> IO string
 elementGetAttribute self name
   = (withUTFString name $
        \ namePtr ->
@@ -78,7 +79,8 @@
       readUTFString
  
 elementSetAttribute ::
-                    (ElementClass self) => self -> String -> String -> IO ()
+                    (ElementClass self, GlibString string) =>
+                      self -> string -> string -> IO ()
 elementSetAttribute self name value
   = propagateGError $
       \ errorPtr_ ->
@@ -92,7 +94,7 @@
           errorPtr_
  
 elementRemoveAttribute ::
-                       (ElementClass self) => self -> String -> IO ()
+                       (ElementClass self, GlibString string) => self -> string -> IO ()
 elementRemoveAttribute self name
   = withUTFString name $
       \ namePtr ->
@@ -100,7 +102,8 @@
           namePtr
  
 elementGetAttributeNode ::
-                        (ElementClass self) => self -> String -> IO (Maybe DOMAttr)
+                        (ElementClass self, GlibString string) =>
+                          self -> string -> IO (Maybe DOMAttr)
 elementGetAttributeNode self name
   = maybeNull (makeNewGObject mkDOMAttr)
       (withUTFString name $
@@ -132,7 +135,8 @@
              errorPtr_)
  
 elementGetElementsByTagName ::
-                            (ElementClass self) => self -> String -> IO (Maybe NodeList)
+                            (ElementClass self, GlibString string) =>
+                              self -> string -> IO (Maybe NodeList)
 elementGetElementsByTagName self name
   = maybeNull (makeNewGObject mkNodeList)
       (withUTFString name $
@@ -149,7 +153,8 @@
 #endif
 
 elementGetAttributeNS ::
-                      (ElementClass self) => self -> String -> String -> IO String
+                      (ElementClass self, GlibString string) =>
+                        self -> string -> string -> IO string
 elementGetAttributeNS self namespaceURI localName
   = (withUTFString localName $
        \ localNamePtr ->
@@ -162,7 +167,8 @@
       readUTFString
  
 elementSetAttributeNS ::
-                      (ElementClass self) => self -> String -> String -> String -> IO ()
+                      (ElementClass self, GlibString string) =>
+                        self -> string -> string -> string -> IO ()
 elementSetAttributeNS self namespaceURI qualifiedName value
   = propagateGError $
       \ errorPtr_ ->
@@ -179,7 +185,8 @@
           errorPtr_
  
 elementRemoveAttributeNS ::
-                         (ElementClass self) => self -> String -> String -> IO ()
+                         (ElementClass self, GlibString string) =>
+                           self -> string -> string -> IO ()
 elementRemoveAttributeNS self namespaceURI localName
   = withUTFString localName $
       \ localNamePtr ->
@@ -190,8 +197,8 @@
           localNamePtr
  
 elementGetElementsByTagNameNS ::
-                              (ElementClass self) =>
-                                self -> String -> String -> IO (Maybe NodeList)
+                              (ElementClass self, GlibString string) =>
+                                self -> string -> string -> IO (Maybe NodeList)
 elementGetElementsByTagNameNS self namespaceURI localName
   = maybeNull (makeNewGObject mkNodeList)
       (withUTFString localName $
@@ -204,8 +211,8 @@
              localNamePtr)
  
 elementGetAttributeNodeNS ::
-                          (ElementClass self) =>
-                            self -> String -> String -> IO (Maybe DOMAttr)
+                          (ElementClass self, GlibString string) =>
+                            self -> string -> string -> IO (Maybe DOMAttr)
 elementGetAttributeNodeNS self namespaceURI localName
   = maybeNull (makeNewGObject mkDOMAttr)
       (withUTFString localName $
@@ -230,7 +237,7 @@
              errorPtr_)
  
 elementHasAttribute ::
-                    (ElementClass self) => self -> String -> IO Bool
+                    (ElementClass self, GlibString string) => self -> string -> IO Bool
 elementHasAttribute self name
   = toBool <$>
       (withUTFString name $
@@ -239,7 +246,8 @@
              namePtr)
  
 elementHasAttributeNS ::
-                      (ElementClass self) => self -> String -> String -> IO Bool
+                      (ElementClass self, GlibString string) =>
+                        self -> string -> string -> IO Bool
 elementHasAttributeNS self namespaceURI localName
   = toBool <$>
       (withUTFString localName $
@@ -282,7 +290,8 @@
       (fromIntegral pages)
  
 elementGetElementsByClassName ::
-                              (ElementClass self) => self -> String -> IO (Maybe NodeList)
+                              (ElementClass self, GlibString string) =>
+                                self -> string -> IO (Maybe NodeList)
 elementGetElementsByClassName self name
   = maybeNull (makeNewGObject mkNodeList)
       (withUTFString name $
@@ -292,7 +301,8 @@
              namePtr)
  
 elementQuerySelector ::
-                     (ElementClass self) => self -> String -> IO (Maybe Element)
+                     (ElementClass self, GlibString string) =>
+                       self -> string -> IO (Maybe Element)
 elementQuerySelector self selectors
   = maybeNull (makeNewGObject mkElement)
       (propagateGError $
@@ -304,7 +314,8 @@
              errorPtr_)
  
 elementQuerySelectorAll ::
-                        (ElementClass self) => self -> String -> IO (Maybe NodeList)
+                        (ElementClass self, GlibString string) =>
+                          self -> string -> IO (Maybe NodeList)
 elementQuerySelectorAll self selectors
   = maybeNull (makeNewGObject mkNodeList)
       (propagateGError $
@@ -316,7 +327,7 @@
              errorPtr_)
  
 elementWebkitMatchesSelector ::
-                             (ElementClass self) => self -> String -> IO Bool
+                             (ElementClass self, GlibString string) => self -> string -> IO Bool
 elementWebkitMatchesSelector self selectors
   = toBool <$>
       (propagateGError $
@@ -336,7 +347,8 @@
       (toElement self)
 #endif
 
-elementGetTagName :: (ElementClass self) => self -> IO String
+elementGetTagName ::
+                  (ElementClass self, GlibString string) => self -> IO string
 elementGetTagName self
   = ({# call webkit_dom_element_get_tag_name #} (toElement self)) >>=
       readUTFString
@@ -356,13 +368,15 @@
       ({# call webkit_dom_element_get_style #} (toElement self))
  
 #if WEBKIT_CHECK_VERSION(2,2,2)
-elementSetId :: (ElementClass self) => self -> String -> IO ()
+elementSetId ::
+             (ElementClass self, GlibString string) => self -> string -> IO ()
 elementSetId self val
   = withUTFString val $
       \ valPtr ->
         {# call webkit_dom_element_set_id #} (toElement self) valPtr
  
-elementGetId :: (ElementClass self) => self -> IO String
+elementGetId ::
+             (ElementClass self, GlibString string) => self -> IO string
 elementGetId self
   = ({# call webkit_dom_element_get_id #} (toElement self)) >>=
       readUTFString
@@ -446,14 +460,15 @@
  
 #if WEBKIT_CHECK_VERSION(1,10,0)
 elementSetClassName ::
-                    (ElementClass self) => self -> String -> IO ()
+                    (ElementClass self, GlibString string) => self -> string -> IO ()
 elementSetClassName self val
   = withUTFString val $
       \ valPtr ->
         {# call webkit_dom_element_set_class_name #} (toElement self)
           valPtr
  
-elementGetClassName :: (ElementClass self) => self -> IO String
+elementGetClassName ::
+                    (ElementClass self, GlibString string) => self -> IO string
 elementGetClassName self
   = ({# call webkit_dom_element_get_class_name #} (toElement self))
       >>=
@@ -503,7 +518,7 @@
  
 #if WEBKIT_CHECK_VERSION(1,10,0)
 elementGetWebkitRegionOverset ::
-                              (ElementClass self) => self -> IO String
+                              (ElementClass self, GlibString string) => self -> IO string
 elementGetWebkitRegionOverset self
   = ({# call webkit_dom_element_get_webkit_region_overset #}
        (toElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/Event.chs b/Graphics/UI/Gtk/WebKit/DOM/Event.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/Event.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/Event.chs
@@ -25,7 +25,8 @@
   = {# call webkit_dom_event_prevent_default #} (toEvent self)
  
 eventInitEvent ::
-               (EventClass self) => self -> String -> Bool -> Bool -> IO ()
+               (EventClass self, GlibString string) =>
+                 self -> string -> Bool -> Bool -> IO ()
 eventInitEvent self eventTypeArg canBubbleArg cancelableArg
   = withUTFString eventTypeArg $
       \ eventTypeArgPtr ->
diff --git a/Graphics/UI/Gtk/WebKit/DOM/EventM.hs b/Graphics/UI/Gtk/WebKit/DOM/EventM.hs
--- a/Graphics/UI/Gtk/WebKit/DOM/EventM.hs
+++ b/Graphics/UI/Gtk/WebKit/DOM/EventM.hs
@@ -56,6 +56,7 @@
 , connect
 )
 where
+
 import Control.Applicative ((<$>))
 import Control.Monad.Reader ( ReaderT, ask, runReaderT )
 import Control.Monad.Trans ( liftIO )
@@ -66,6 +67,7 @@
 import Graphics.UI.Gtk.WebKit.DOM.MouseEvent
 import Graphics.UI.Gtk.WebKit.DOM.EventTargetClosures
 import Data.Word (Word)
+import qualified Data.Text as T (pack)
 
 type Signal target callback = target -> callback -> IO (IO ())
 
@@ -261,4 +263,4 @@
 
 connect :: (GObjectClass t, EventClass e) => String -> t -> EventM e t () -> IO (IO ())
 connect eventName target callback = do
-  eventTargetAddEventListener target eventName False $ curry (runReaderT callback)
+  eventTargetAddEventListener target (T.pack eventName) False $ curry (runReaderT callback)
diff --git a/Graphics/UI/Gtk/WebKit/DOM/EventTargetClosures.chs b/Graphics/UI/Gtk/WebKit/DOM/EventTargetClosures.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/EventTargetClosures.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/EventTargetClosures.chs
@@ -16,8 +16,8 @@
   gtk2hs_closure_new :: StablePtr a -> IO (Ptr GClosure)
 
 eventTargetAddEventListener ::
-                         (GObjectClass self, EventClass event) =>
-                           self -> String -> Bool -> (self -> event -> IO ()) -> IO (IO ())
+                         (GObjectClass self, EventClass event, GlibString string) =>
+                           self -> string -> Bool -> (self -> event -> IO ()) -> IO (IO ())
 eventTargetAddEventListener self eventName bubble user = do
   sptr <- newStablePtr action
   gclosurePtr <- gtk2hs_closure_new sptr
diff --git a/Graphics/UI/Gtk/WebKit/DOM/File.chs b/Graphics/UI/Gtk/WebKit/DOM/File.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/File.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/File.chs
@@ -11,13 +11,15 @@
 import System.Glib.GError
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
-fileGetName :: (FileClass self) => self -> IO String
+fileGetName ::
+            (FileClass self, GlibString string) => self -> IO string
 fileGetName self
   = ({# call webkit_dom_file_get_name #} (toFile self)) >>=
       readUTFString
  
 #if WEBKIT_CHECK_VERSION(2,2,2)
-fileGetWebkitRelativePath :: (FileClass self) => self -> IO String
+fileGetWebkitRelativePath ::
+                          (FileClass self, GlibString string) => self -> IO string
 fileGetWebkitRelativePath self
   = ({# call webkit_dom_file_get_webkit_relative_path #}
        (toFile self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLAnchorElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLAnchorElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLAnchorElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLAnchorElement.chs
@@ -29,7 +29,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlAnchorElementSetCharset ::
-                            (HTMLAnchorElementClass self) => self -> String -> IO ()
+                            (HTMLAnchorElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlAnchorElementSetCharset self val
   = withUTFString val $
       \ valPtr ->
@@ -38,7 +39,8 @@
           valPtr
  
 htmlAnchorElementGetCharset ::
-                            (HTMLAnchorElementClass self) => self -> IO String
+                            (HTMLAnchorElementClass self, GlibString string) =>
+                              self -> IO string
 htmlAnchorElementGetCharset self
   = ({# call webkit_dom_html_anchor_element_get_charset #}
        (toHTMLAnchorElement self))
@@ -46,7 +48,8 @@
       readUTFString
  
 htmlAnchorElementSetCoords ::
-                           (HTMLAnchorElementClass self) => self -> String -> IO ()
+                           (HTMLAnchorElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlAnchorElementSetCoords self val
   = withUTFString val $
       \ valPtr ->
@@ -55,7 +58,8 @@
           valPtr
  
 htmlAnchorElementGetCoords ::
-                           (HTMLAnchorElementClass self) => self -> IO String
+                           (HTMLAnchorElementClass self, GlibString string) =>
+                             self -> IO string
 htmlAnchorElementGetCoords self
   = ({# call webkit_dom_html_anchor_element_get_coords #}
        (toHTMLAnchorElement self))
@@ -63,7 +67,8 @@
       readUTFString
  
 htmlAnchorElementSetDownload ::
-                             (HTMLAnchorElementClass self) => self -> String -> IO ()
+                             (HTMLAnchorElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlAnchorElementSetDownload self val
   = withUTFString val $
       \ valPtr ->
@@ -72,7 +77,8 @@
           valPtr
  
 htmlAnchorElementGetDownload ::
-                             (HTMLAnchorElementClass self) => self -> IO String
+                             (HTMLAnchorElementClass self, GlibString string) =>
+                               self -> IO string
 htmlAnchorElementGetDownload self
   = ({# call webkit_dom_html_anchor_element_get_download #}
        (toHTMLAnchorElement self))
@@ -80,7 +86,8 @@
       readUTFString
  
 htmlAnchorElementSetHref ::
-                         (HTMLAnchorElementClass self) => self -> String -> IO ()
+                         (HTMLAnchorElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlAnchorElementSetHref self val
   = withUTFString val $
       \ valPtr ->
@@ -89,7 +96,8 @@
           valPtr
  
 htmlAnchorElementGetHref ::
-                         (HTMLAnchorElementClass self) => self -> IO String
+                         (HTMLAnchorElementClass self, GlibString string) =>
+                           self -> IO string
 htmlAnchorElementGetHref self
   = ({# call webkit_dom_html_anchor_element_get_href #}
        (toHTMLAnchorElement self))
@@ -97,7 +105,8 @@
       readUTFString
  
 htmlAnchorElementSetHreflang ::
-                             (HTMLAnchorElementClass self) => self -> String -> IO ()
+                             (HTMLAnchorElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlAnchorElementSetHreflang self val
   = withUTFString val $
       \ valPtr ->
@@ -106,7 +115,8 @@
           valPtr
  
 htmlAnchorElementGetHreflang ::
-                             (HTMLAnchorElementClass self) => self -> IO String
+                             (HTMLAnchorElementClass self, GlibString string) =>
+                               self -> IO string
 htmlAnchorElementGetHreflang self
   = ({# call webkit_dom_html_anchor_element_get_hreflang #}
        (toHTMLAnchorElement self))
@@ -114,7 +124,8 @@
       readUTFString
  
 htmlAnchorElementSetName ::
-                         (HTMLAnchorElementClass self) => self -> String -> IO ()
+                         (HTMLAnchorElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlAnchorElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -123,7 +134,8 @@
           valPtr
  
 htmlAnchorElementGetName ::
-                         (HTMLAnchorElementClass self) => self -> IO String
+                         (HTMLAnchorElementClass self, GlibString string) =>
+                           self -> IO string
 htmlAnchorElementGetName self
   = ({# call webkit_dom_html_anchor_element_get_name #}
        (toHTMLAnchorElement self))
@@ -131,7 +143,8 @@
       readUTFString
  
 htmlAnchorElementSetPing ::
-                         (HTMLAnchorElementClass self) => self -> String -> IO ()
+                         (HTMLAnchorElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlAnchorElementSetPing self val
   = withUTFString val $
       \ valPtr ->
@@ -140,7 +153,8 @@
           valPtr
  
 htmlAnchorElementGetPing ::
-                         (HTMLAnchorElementClass self) => self -> IO String
+                         (HTMLAnchorElementClass self, GlibString string) =>
+                           self -> IO string
 htmlAnchorElementGetPing self
   = ({# call webkit_dom_html_anchor_element_get_ping #}
        (toHTMLAnchorElement self))
@@ -148,7 +162,8 @@
       readUTFString
  
 htmlAnchorElementSetRel ::
-                        (HTMLAnchorElementClass self) => self -> String -> IO ()
+                        (HTMLAnchorElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlAnchorElementSetRel self val
   = withUTFString val $
       \ valPtr ->
@@ -157,7 +172,8 @@
           valPtr
  
 htmlAnchorElementGetRel ::
-                        (HTMLAnchorElementClass self) => self -> IO String
+                        (HTMLAnchorElementClass self, GlibString string) =>
+                          self -> IO string
 htmlAnchorElementGetRel self
   = ({# call webkit_dom_html_anchor_element_get_rel #}
        (toHTMLAnchorElement self))
@@ -165,7 +181,8 @@
       readUTFString
  
 htmlAnchorElementSetRev ::
-                        (HTMLAnchorElementClass self) => self -> String -> IO ()
+                        (HTMLAnchorElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlAnchorElementSetRev self val
   = withUTFString val $
       \ valPtr ->
@@ -174,7 +191,8 @@
           valPtr
  
 htmlAnchorElementGetRev ::
-                        (HTMLAnchorElementClass self) => self -> IO String
+                        (HTMLAnchorElementClass self, GlibString string) =>
+                          self -> IO string
 htmlAnchorElementGetRev self
   = ({# call webkit_dom_html_anchor_element_get_rev #}
        (toHTMLAnchorElement self))
@@ -182,7 +200,8 @@
       readUTFString
  
 htmlAnchorElementSetShape ::
-                          (HTMLAnchorElementClass self) => self -> String -> IO ()
+                          (HTMLAnchorElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlAnchorElementSetShape self val
   = withUTFString val $
       \ valPtr ->
@@ -191,7 +210,8 @@
           valPtr
  
 htmlAnchorElementGetShape ::
-                          (HTMLAnchorElementClass self) => self -> IO String
+                          (HTMLAnchorElementClass self, GlibString string) =>
+                            self -> IO string
 htmlAnchorElementGetShape self
   = ({# call webkit_dom_html_anchor_element_get_shape #}
        (toHTMLAnchorElement self))
@@ -199,7 +219,8 @@
       readUTFString
  
 htmlAnchorElementSetTarget ::
-                           (HTMLAnchorElementClass self) => self -> String -> IO ()
+                           (HTMLAnchorElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlAnchorElementSetTarget self val
   = withUTFString val $
       \ valPtr ->
@@ -208,7 +229,8 @@
           valPtr
  
 htmlAnchorElementGetTarget ::
-                           (HTMLAnchorElementClass self) => self -> IO String
+                           (HTMLAnchorElementClass self, GlibString string) =>
+                             self -> IO string
 htmlAnchorElementGetTarget self
   = ({# call webkit_dom_html_anchor_element_get_target #}
        (toHTMLAnchorElement self))
@@ -216,7 +238,8 @@
       readUTFString
  
 htmlAnchorElementSetHash ::
-                         (HTMLAnchorElementClass self) => self -> String -> IO ()
+                         (HTMLAnchorElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlAnchorElementSetHash self val
   = withUTFString val $
       \ valPtr ->
@@ -225,7 +248,8 @@
           valPtr
  
 htmlAnchorElementGetHash ::
-                         (HTMLAnchorElementClass self) => self -> IO String
+                         (HTMLAnchorElementClass self, GlibString string) =>
+                           self -> IO string
 htmlAnchorElementGetHash self
   = ({# call webkit_dom_html_anchor_element_get_hash #}
        (toHTMLAnchorElement self))
@@ -233,7 +257,8 @@
       readUTFString
  
 htmlAnchorElementSetHost ::
-                         (HTMLAnchorElementClass self) => self -> String -> IO ()
+                         (HTMLAnchorElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlAnchorElementSetHost self val
   = withUTFString val $
       \ valPtr ->
@@ -242,7 +267,8 @@
           valPtr
  
 htmlAnchorElementGetHost ::
-                         (HTMLAnchorElementClass self) => self -> IO String
+                         (HTMLAnchorElementClass self, GlibString string) =>
+                           self -> IO string
 htmlAnchorElementGetHost self
   = ({# call webkit_dom_html_anchor_element_get_host #}
        (toHTMLAnchorElement self))
@@ -250,7 +276,8 @@
       readUTFString
  
 htmlAnchorElementSetHostname ::
-                             (HTMLAnchorElementClass self) => self -> String -> IO ()
+                             (HTMLAnchorElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlAnchorElementSetHostname self val
   = withUTFString val $
       \ valPtr ->
@@ -259,7 +286,8 @@
           valPtr
  
 htmlAnchorElementGetHostname ::
-                             (HTMLAnchorElementClass self) => self -> IO String
+                             (HTMLAnchorElementClass self, GlibString string) =>
+                               self -> IO string
 htmlAnchorElementGetHostname self
   = ({# call webkit_dom_html_anchor_element_get_hostname #}
        (toHTMLAnchorElement self))
@@ -267,7 +295,8 @@
       readUTFString
  
 htmlAnchorElementSetPathname ::
-                             (HTMLAnchorElementClass self) => self -> String -> IO ()
+                             (HTMLAnchorElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlAnchorElementSetPathname self val
   = withUTFString val $
       \ valPtr ->
@@ -276,7 +305,8 @@
           valPtr
  
 htmlAnchorElementGetPathname ::
-                             (HTMLAnchorElementClass self) => self -> IO String
+                             (HTMLAnchorElementClass self, GlibString string) =>
+                               self -> IO string
 htmlAnchorElementGetPathname self
   = ({# call webkit_dom_html_anchor_element_get_pathname #}
        (toHTMLAnchorElement self))
@@ -284,7 +314,8 @@
       readUTFString
  
 htmlAnchorElementSetPort ::
-                         (HTMLAnchorElementClass self) => self -> String -> IO ()
+                         (HTMLAnchorElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlAnchorElementSetPort self val
   = withUTFString val $
       \ valPtr ->
@@ -293,7 +324,8 @@
           valPtr
  
 htmlAnchorElementGetPort ::
-                         (HTMLAnchorElementClass self) => self -> IO String
+                         (HTMLAnchorElementClass self, GlibString string) =>
+                           self -> IO string
 htmlAnchorElementGetPort self
   = ({# call webkit_dom_html_anchor_element_get_port #}
        (toHTMLAnchorElement self))
@@ -301,7 +333,8 @@
       readUTFString
  
 htmlAnchorElementSetProtocol ::
-                             (HTMLAnchorElementClass self) => self -> String -> IO ()
+                             (HTMLAnchorElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlAnchorElementSetProtocol self val
   = withUTFString val $
       \ valPtr ->
@@ -310,7 +343,8 @@
           valPtr
  
 htmlAnchorElementGetProtocol ::
-                             (HTMLAnchorElementClass self) => self -> IO String
+                             (HTMLAnchorElementClass self, GlibString string) =>
+                               self -> IO string
 htmlAnchorElementGetProtocol self
   = ({# call webkit_dom_html_anchor_element_get_protocol #}
        (toHTMLAnchorElement self))
@@ -318,7 +352,8 @@
       readUTFString
  
 htmlAnchorElementSetSearch ::
-                           (HTMLAnchorElementClass self) => self -> String -> IO ()
+                           (HTMLAnchorElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlAnchorElementSetSearch self val
   = withUTFString val $
       \ valPtr ->
@@ -327,7 +362,8 @@
           valPtr
  
 htmlAnchorElementGetSearch ::
-                           (HTMLAnchorElementClass self) => self -> IO String
+                           (HTMLAnchorElementClass self, GlibString string) =>
+                             self -> IO string
 htmlAnchorElementGetSearch self
   = ({# call webkit_dom_html_anchor_element_get_search #}
        (toHTMLAnchorElement self))
@@ -335,7 +371,8 @@
       readUTFString
  
 htmlAnchorElementGetOrigin ::
-                           (HTMLAnchorElementClass self) => self -> IO String
+                           (HTMLAnchorElementClass self, GlibString string) =>
+                             self -> IO string
 htmlAnchorElementGetOrigin self
   = ({# call webkit_dom_html_anchor_element_get_origin #}
        (toHTMLAnchorElement self))
@@ -343,7 +380,8 @@
       readUTFString
  
 htmlAnchorElementGetText ::
-                         (HTMLAnchorElementClass self) => self -> IO String
+                         (HTMLAnchorElementClass self, GlibString string) =>
+                           self -> IO string
 htmlAnchorElementGetText self
   = ({# call webkit_dom_html_anchor_element_get_text #}
        (toHTMLAnchorElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLAppletElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLAppletElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLAppletElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLAppletElement.chs
@@ -21,7 +21,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlAppletElementSetAlign ::
-                          (HTMLAppletElementClass self) => self -> String -> IO ()
+                          (HTMLAppletElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlAppletElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -30,7 +31,8 @@
           valPtr
  
 htmlAppletElementGetAlign ::
-                          (HTMLAppletElementClass self) => self -> IO String
+                          (HTMLAppletElementClass self, GlibString string) =>
+                            self -> IO string
 htmlAppletElementGetAlign self
   = ({# call webkit_dom_html_applet_element_get_align #}
        (toHTMLAppletElement self))
@@ -38,7 +40,8 @@
       readUTFString
  
 htmlAppletElementSetAlt ::
-                        (HTMLAppletElementClass self) => self -> String -> IO ()
+                        (HTMLAppletElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlAppletElementSetAlt self val
   = withUTFString val $
       \ valPtr ->
@@ -47,7 +50,8 @@
           valPtr
  
 htmlAppletElementGetAlt ::
-                        (HTMLAppletElementClass self) => self -> IO String
+                        (HTMLAppletElementClass self, GlibString string) =>
+                          self -> IO string
 htmlAppletElementGetAlt self
   = ({# call webkit_dom_html_applet_element_get_alt #}
        (toHTMLAppletElement self))
@@ -55,7 +59,8 @@
       readUTFString
  
 htmlAppletElementSetArchive ::
-                            (HTMLAppletElementClass self) => self -> String -> IO ()
+                            (HTMLAppletElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlAppletElementSetArchive self val
   = withUTFString val $
       \ valPtr ->
@@ -64,7 +69,8 @@
           valPtr
  
 htmlAppletElementGetArchive ::
-                            (HTMLAppletElementClass self) => self -> IO String
+                            (HTMLAppletElementClass self, GlibString string) =>
+                              self -> IO string
 htmlAppletElementGetArchive self
   = ({# call webkit_dom_html_applet_element_get_archive #}
        (toHTMLAppletElement self))
@@ -72,7 +78,8 @@
       readUTFString
  
 htmlAppletElementSetCode ::
-                         (HTMLAppletElementClass self) => self -> String -> IO ()
+                         (HTMLAppletElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlAppletElementSetCode self val
   = withUTFString val $
       \ valPtr ->
@@ -81,7 +88,8 @@
           valPtr
  
 htmlAppletElementGetCode ::
-                         (HTMLAppletElementClass self) => self -> IO String
+                         (HTMLAppletElementClass self, GlibString string) =>
+                           self -> IO string
 htmlAppletElementGetCode self
   = ({# call webkit_dom_html_applet_element_get_code #}
        (toHTMLAppletElement self))
@@ -89,7 +97,8 @@
       readUTFString
  
 htmlAppletElementSetCodeBase ::
-                             (HTMLAppletElementClass self) => self -> String -> IO ()
+                             (HTMLAppletElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlAppletElementSetCodeBase self val
   = withUTFString val $
       \ valPtr ->
@@ -98,7 +107,8 @@
           valPtr
  
 htmlAppletElementGetCodeBase ::
-                             (HTMLAppletElementClass self) => self -> IO String
+                             (HTMLAppletElementClass self, GlibString string) =>
+                               self -> IO string
 htmlAppletElementGetCodeBase self
   = ({# call webkit_dom_html_applet_element_get_code_base #}
        (toHTMLAppletElement self))
@@ -106,7 +116,8 @@
       readUTFString
  
 htmlAppletElementSetHeight ::
-                           (HTMLAppletElementClass self) => self -> String -> IO ()
+                           (HTMLAppletElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlAppletElementSetHeight self val
   = withUTFString val $
       \ valPtr ->
@@ -115,7 +126,8 @@
           valPtr
  
 htmlAppletElementGetHeight ::
-                           (HTMLAppletElementClass self) => self -> IO String
+                           (HTMLAppletElementClass self, GlibString string) =>
+                             self -> IO string
 htmlAppletElementGetHeight self
   = ({# call webkit_dom_html_applet_element_get_height #}
        (toHTMLAppletElement self))
@@ -137,7 +149,8 @@
          (toHTMLAppletElement self))
  
 htmlAppletElementSetName ::
-                         (HTMLAppletElementClass self) => self -> String -> IO ()
+                         (HTMLAppletElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlAppletElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -146,7 +159,8 @@
           valPtr
  
 htmlAppletElementGetName ::
-                         (HTMLAppletElementClass self) => self -> IO String
+                         (HTMLAppletElementClass self, GlibString string) =>
+                           self -> IO string
 htmlAppletElementGetName self
   = ({# call webkit_dom_html_applet_element_get_name #}
        (toHTMLAppletElement self))
@@ -154,7 +168,8 @@
       readUTFString
  
 htmlAppletElementSetObject ::
-                           (HTMLAppletElementClass self) => self -> String -> IO ()
+                           (HTMLAppletElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlAppletElementSetObject self val
   = withUTFString val $
       \ valPtr ->
@@ -163,7 +178,8 @@
           valPtr
  
 htmlAppletElementGetObject ::
-                           (HTMLAppletElementClass self) => self -> IO String
+                           (HTMLAppletElementClass self, GlibString string) =>
+                             self -> IO string
 htmlAppletElementGetObject self
   = ({# call webkit_dom_html_applet_element_get_object #}
        (toHTMLAppletElement self))
@@ -185,7 +201,8 @@
          (toHTMLAppletElement self))
  
 htmlAppletElementSetWidth ::
-                          (HTMLAppletElementClass self) => self -> String -> IO ()
+                          (HTMLAppletElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlAppletElementSetWidth self val
   = withUTFString val $
       \ valPtr ->
@@ -194,7 +211,8 @@
           valPtr
  
 htmlAppletElementGetWidth ::
-                          (HTMLAppletElementClass self) => self -> IO String
+                          (HTMLAppletElementClass self, GlibString string) =>
+                            self -> IO string
 htmlAppletElementGetWidth self
   = ({# call webkit_dom_html_applet_element_get_width #}
        (toHTMLAppletElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLAreaElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLAreaElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLAreaElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLAreaElement.chs
@@ -20,7 +20,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlAreaElementSetAlt ::
-                      (HTMLAreaElementClass self) => self -> String -> IO ()
+                      (HTMLAreaElementClass self, GlibString string) =>
+                        self -> string -> IO ()
 htmlAreaElementSetAlt self val
   = withUTFString val $
       \ valPtr ->
@@ -29,7 +30,7 @@
           valPtr
  
 htmlAreaElementGetAlt ::
-                      (HTMLAreaElementClass self) => self -> IO String
+                      (HTMLAreaElementClass self, GlibString string) => self -> IO string
 htmlAreaElementGetAlt self
   = ({# call webkit_dom_html_area_element_get_alt #}
        (toHTMLAreaElement self))
@@ -37,7 +38,8 @@
       readUTFString
  
 htmlAreaElementSetCoords ::
-                         (HTMLAreaElementClass self) => self -> String -> IO ()
+                         (HTMLAreaElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlAreaElementSetCoords self val
   = withUTFString val $
       \ valPtr ->
@@ -46,7 +48,7 @@
           valPtr
  
 htmlAreaElementGetCoords ::
-                         (HTMLAreaElementClass self) => self -> IO String
+                         (HTMLAreaElementClass self, GlibString string) => self -> IO string
 htmlAreaElementGetCoords self
   = ({# call webkit_dom_html_area_element_get_coords #}
        (toHTMLAreaElement self))
@@ -54,7 +56,8 @@
       readUTFString
  
 htmlAreaElementSetHref ::
-                       (HTMLAreaElementClass self) => self -> String -> IO ()
+                       (HTMLAreaElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlAreaElementSetHref self val
   = withUTFString val $
       \ valPtr ->
@@ -63,7 +66,7 @@
           valPtr
  
 htmlAreaElementGetHref ::
-                       (HTMLAreaElementClass self) => self -> IO String
+                       (HTMLAreaElementClass self, GlibString string) => self -> IO string
 htmlAreaElementGetHref self
   = ({# call webkit_dom_html_area_element_get_href #}
        (toHTMLAreaElement self))
@@ -85,7 +88,8 @@
          (toHTMLAreaElement self))
  
 htmlAreaElementSetPing ::
-                       (HTMLAreaElementClass self) => self -> String -> IO ()
+                       (HTMLAreaElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlAreaElementSetPing self val
   = withUTFString val $
       \ valPtr ->
@@ -94,7 +98,7 @@
           valPtr
  
 htmlAreaElementGetPing ::
-                       (HTMLAreaElementClass self) => self -> IO String
+                       (HTMLAreaElementClass self, GlibString string) => self -> IO string
 htmlAreaElementGetPing self
   = ({# call webkit_dom_html_area_element_get_ping #}
        (toHTMLAreaElement self))
@@ -102,7 +106,8 @@
       readUTFString
  
 htmlAreaElementSetShape ::
-                        (HTMLAreaElementClass self) => self -> String -> IO ()
+                        (HTMLAreaElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlAreaElementSetShape self val
   = withUTFString val $
       \ valPtr ->
@@ -111,7 +116,7 @@
           valPtr
  
 htmlAreaElementGetShape ::
-                        (HTMLAreaElementClass self) => self -> IO String
+                        (HTMLAreaElementClass self, GlibString string) => self -> IO string
 htmlAreaElementGetShape self
   = ({# call webkit_dom_html_area_element_get_shape #}
        (toHTMLAreaElement self))
@@ -119,7 +124,8 @@
       readUTFString
  
 htmlAreaElementSetTarget ::
-                         (HTMLAreaElementClass self) => self -> String -> IO ()
+                         (HTMLAreaElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlAreaElementSetTarget self val
   = withUTFString val $
       \ valPtr ->
@@ -128,7 +134,7 @@
           valPtr
  
 htmlAreaElementGetTarget ::
-                         (HTMLAreaElementClass self) => self -> IO String
+                         (HTMLAreaElementClass self, GlibString string) => self -> IO string
 htmlAreaElementGetTarget self
   = ({# call webkit_dom_html_area_element_get_target #}
        (toHTMLAreaElement self))
@@ -136,7 +142,7 @@
       readUTFString
  
 htmlAreaElementGetHash ::
-                       (HTMLAreaElementClass self) => self -> IO String
+                       (HTMLAreaElementClass self, GlibString string) => self -> IO string
 htmlAreaElementGetHash self
   = ({# call webkit_dom_html_area_element_get_hash #}
        (toHTMLAreaElement self))
@@ -144,7 +150,7 @@
       readUTFString
  
 htmlAreaElementGetHost ::
-                       (HTMLAreaElementClass self) => self -> IO String
+                       (HTMLAreaElementClass self, GlibString string) => self -> IO string
 htmlAreaElementGetHost self
   = ({# call webkit_dom_html_area_element_get_host #}
        (toHTMLAreaElement self))
@@ -152,7 +158,7 @@
       readUTFString
  
 htmlAreaElementGetHostname ::
-                           (HTMLAreaElementClass self) => self -> IO String
+                           (HTMLAreaElementClass self, GlibString string) => self -> IO string
 htmlAreaElementGetHostname self
   = ({# call webkit_dom_html_area_element_get_hostname #}
        (toHTMLAreaElement self))
@@ -160,7 +166,7 @@
       readUTFString
  
 htmlAreaElementGetPathname ::
-                           (HTMLAreaElementClass self) => self -> IO String
+                           (HTMLAreaElementClass self, GlibString string) => self -> IO string
 htmlAreaElementGetPathname self
   = ({# call webkit_dom_html_area_element_get_pathname #}
        (toHTMLAreaElement self))
@@ -168,7 +174,7 @@
       readUTFString
  
 htmlAreaElementGetPort ::
-                       (HTMLAreaElementClass self) => self -> IO String
+                       (HTMLAreaElementClass self, GlibString string) => self -> IO string
 htmlAreaElementGetPort self
   = ({# call webkit_dom_html_area_element_get_port #}
        (toHTMLAreaElement self))
@@ -176,7 +182,7 @@
       readUTFString
  
 htmlAreaElementGetProtocol ::
-                           (HTMLAreaElementClass self) => self -> IO String
+                           (HTMLAreaElementClass self, GlibString string) => self -> IO string
 htmlAreaElementGetProtocol self
   = ({# call webkit_dom_html_area_element_get_protocol #}
        (toHTMLAreaElement self))
@@ -184,7 +190,7 @@
       readUTFString
  
 htmlAreaElementGetSearch ::
-                         (HTMLAreaElementClass self) => self -> IO String
+                         (HTMLAreaElementClass self, GlibString string) => self -> IO string
 htmlAreaElementGetSearch self
   = ({# call webkit_dom_html_area_element_get_search #}
        (toHTMLAreaElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLBRElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLBRElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLBRElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLBRElement.chs
@@ -11,7 +11,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlbrElementSetClear ::
-                      (HTMLBRElementClass self) => self -> String -> IO ()
+                      (HTMLBRElementClass self, GlibString string) =>
+                        self -> string -> IO ()
 htmlbrElementSetClear self val
   = withUTFString val $
       \ valPtr ->
@@ -20,7 +21,7 @@
           valPtr
  
 htmlbrElementGetClear ::
-                      (HTMLBRElementClass self) => self -> IO String
+                      (HTMLBRElementClass self, GlibString string) => self -> IO string
 htmlbrElementGetClear self
   = ({# call webkit_dom_htmlbr_element_get_clear #}
        (toHTMLBRElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLBaseElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLBaseElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLBaseElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLBaseElement.chs
@@ -12,7 +12,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlBaseElementSetHref ::
-                       (HTMLBaseElementClass self) => self -> String -> IO ()
+                       (HTMLBaseElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlBaseElementSetHref self val
   = withUTFString val $
       \ valPtr ->
@@ -21,7 +22,7 @@
           valPtr
  
 htmlBaseElementGetHref ::
-                       (HTMLBaseElementClass self) => self -> IO String
+                       (HTMLBaseElementClass self, GlibString string) => self -> IO string
 htmlBaseElementGetHref self
   = ({# call webkit_dom_html_base_element_get_href #}
        (toHTMLBaseElement self))
@@ -29,7 +30,8 @@
       readUTFString
  
 htmlBaseElementSetTarget ::
-                         (HTMLBaseElementClass self) => self -> String -> IO ()
+                         (HTMLBaseElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlBaseElementSetTarget self val
   = withUTFString val $
       \ valPtr ->
@@ -38,7 +40,7 @@
           valPtr
  
 htmlBaseElementGetTarget ::
-                         (HTMLBaseElementClass self) => self -> IO String
+                         (HTMLBaseElementClass self, GlibString string) => self -> IO string
 htmlBaseElementGetTarget self
   = ({# call webkit_dom_html_base_element_get_target #}
        (toHTMLBaseElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLBaseFontElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLBaseFontElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLBaseFontElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLBaseFontElement.chs
@@ -14,7 +14,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlBaseFontElementSetColor ::
-                            (HTMLBaseFontElementClass self) => self -> String -> IO ()
+                            (HTMLBaseFontElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlBaseFontElementSetColor self val
   = withUTFString val $
       \ valPtr ->
@@ -23,7 +24,8 @@
           valPtr
  
 htmlBaseFontElementGetColor ::
-                            (HTMLBaseFontElementClass self) => self -> IO String
+                            (HTMLBaseFontElementClass self, GlibString string) =>
+                              self -> IO string
 htmlBaseFontElementGetColor self
   = ({# call webkit_dom_html_base_font_element_get_color #}
        (toHTMLBaseFontElement self))
@@ -31,7 +33,8 @@
       readUTFString
  
 htmlBaseFontElementSetFace ::
-                           (HTMLBaseFontElementClass self) => self -> String -> IO ()
+                           (HTMLBaseFontElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlBaseFontElementSetFace self val
   = withUTFString val $
       \ valPtr ->
@@ -40,7 +43,8 @@
           valPtr
  
 htmlBaseFontElementGetFace ::
-                           (HTMLBaseFontElementClass self) => self -> IO String
+                           (HTMLBaseFontElementClass self, GlibString string) =>
+                             self -> IO string
 htmlBaseFontElementGetFace self
   = ({# call webkit_dom_html_base_font_element_get_face #}
        (toHTMLBaseFontElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLBodyElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLBodyElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLBodyElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLBodyElement.chs
@@ -23,7 +23,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlBodyElementSetALink ::
-                        (HTMLBodyElementClass self) => self -> String -> IO ()
+                        (HTMLBodyElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlBodyElementSetALink self val
   = withUTFString val $
       \ valPtr ->
@@ -32,7 +33,7 @@
           valPtr
  
 htmlBodyElementGetALink ::
-                        (HTMLBodyElementClass self) => self -> IO String
+                        (HTMLBodyElementClass self, GlibString string) => self -> IO string
 htmlBodyElementGetALink self
   = ({# call webkit_dom_html_body_element_get_a_link #}
        (toHTMLBodyElement self))
@@ -40,7 +41,8 @@
       readUTFString
  
 htmlBodyElementSetBackground ::
-                             (HTMLBodyElementClass self) => self -> String -> IO ()
+                             (HTMLBodyElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlBodyElementSetBackground self val
   = withUTFString val $
       \ valPtr ->
@@ -49,7 +51,7 @@
           valPtr
  
 htmlBodyElementGetBackground ::
-                             (HTMLBodyElementClass self) => self -> IO String
+                             (HTMLBodyElementClass self, GlibString string) => self -> IO string
 htmlBodyElementGetBackground self
   = ({# call webkit_dom_html_body_element_get_background #}
        (toHTMLBodyElement self))
@@ -57,7 +59,8 @@
       readUTFString
  
 htmlBodyElementSetBgColor ::
-                          (HTMLBodyElementClass self) => self -> String -> IO ()
+                          (HTMLBodyElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlBodyElementSetBgColor self val
   = withUTFString val $
       \ valPtr ->
@@ -66,7 +69,7 @@
           valPtr
  
 htmlBodyElementGetBgColor ::
-                          (HTMLBodyElementClass self) => self -> IO String
+                          (HTMLBodyElementClass self, GlibString string) => self -> IO string
 htmlBodyElementGetBgColor self
   = ({# call webkit_dom_html_body_element_get_bg_color #}
        (toHTMLBodyElement self))
@@ -74,7 +77,8 @@
       readUTFString
  
 htmlBodyElementSetLink ::
-                       (HTMLBodyElementClass self) => self -> String -> IO ()
+                       (HTMLBodyElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlBodyElementSetLink self val
   = withUTFString val $
       \ valPtr ->
@@ -83,7 +87,7 @@
           valPtr
  
 htmlBodyElementGetLink ::
-                       (HTMLBodyElementClass self) => self -> IO String
+                       (HTMLBodyElementClass self, GlibString string) => self -> IO string
 htmlBodyElementGetLink self
   = ({# call webkit_dom_html_body_element_get_link #}
        (toHTMLBodyElement self))
@@ -91,7 +95,8 @@
       readUTFString
  
 htmlBodyElementSetText ::
-                       (HTMLBodyElementClass self) => self -> String -> IO ()
+                       (HTMLBodyElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlBodyElementSetText self val
   = withUTFString val $
       \ valPtr ->
@@ -100,7 +105,7 @@
           valPtr
  
 htmlBodyElementGetText ::
-                       (HTMLBodyElementClass self) => self -> IO String
+                       (HTMLBodyElementClass self, GlibString string) => self -> IO string
 htmlBodyElementGetText self
   = ({# call webkit_dom_html_body_element_get_text #}
        (toHTMLBodyElement self))
@@ -108,7 +113,8 @@
       readUTFString
  
 htmlBodyElementSetVLink ::
-                        (HTMLBodyElementClass self) => self -> String -> IO ()
+                        (HTMLBodyElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlBodyElementSetVLink self val
   = withUTFString val $
       \ valPtr ->
@@ -117,7 +123,7 @@
           valPtr
  
 htmlBodyElementGetVLink ::
-                        (HTMLBodyElementClass self) => self -> IO String
+                        (HTMLBodyElementClass self, GlibString string) => self -> IO string
 htmlBodyElementGetVLink self
   = ({# call webkit_dom_html_body_element_get_v_link #}
        (toHTMLBodyElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLButtonElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLButtonElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLButtonElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLButtonElement.chs
@@ -31,7 +31,8 @@
          (toHTMLButtonElement self))
  
 htmlButtonElementSetCustomValidity ::
-                                   (HTMLButtonElementClass self) => self -> String -> IO ()
+                                   (HTMLButtonElementClass self, GlibString string) =>
+                                     self -> string -> IO ()
 htmlButtonElementSetCustomValidity self error
   = withUTFString error $
       \ errorPtr ->
@@ -75,7 +76,8 @@
          (toHTMLButtonElement self))
  
 htmlButtonElementSetFormAction ::
-                               (HTMLButtonElementClass self) => self -> String -> IO ()
+                               (HTMLButtonElementClass self, GlibString string) =>
+                                 self -> string -> IO ()
 htmlButtonElementSetFormAction self val
   = withUTFString val $
       \ valPtr ->
@@ -84,7 +86,8 @@
           valPtr
  
 htmlButtonElementGetFormAction ::
-                               (HTMLButtonElementClass self) => self -> IO String
+                               (HTMLButtonElementClass self, GlibString string) =>
+                                 self -> IO string
 htmlButtonElementGetFormAction self
   = ({# call webkit_dom_html_button_element_get_form_action #}
        (toHTMLButtonElement self))
@@ -92,7 +95,8 @@
       readUTFString
  
 htmlButtonElementSetFormEnctype ::
-                                (HTMLButtonElementClass self) => self -> String -> IO ()
+                                (HTMLButtonElementClass self, GlibString string) =>
+                                  self -> string -> IO ()
 htmlButtonElementSetFormEnctype self val
   = withUTFString val $
       \ valPtr ->
@@ -101,7 +105,8 @@
           valPtr
  
 htmlButtonElementGetFormEnctype ::
-                                (HTMLButtonElementClass self) => self -> IO String
+                                (HTMLButtonElementClass self, GlibString string) =>
+                                  self -> IO string
 htmlButtonElementGetFormEnctype self
   = ({# call webkit_dom_html_button_element_get_form_enctype #}
        (toHTMLButtonElement self))
@@ -109,7 +114,8 @@
       readUTFString
  
 htmlButtonElementSetFormMethod ::
-                               (HTMLButtonElementClass self) => self -> String -> IO ()
+                               (HTMLButtonElementClass self, GlibString string) =>
+                                 self -> string -> IO ()
 htmlButtonElementSetFormMethod self val
   = withUTFString val $
       \ valPtr ->
@@ -118,7 +124,8 @@
           valPtr
  
 htmlButtonElementGetFormMethod ::
-                               (HTMLButtonElementClass self) => self -> IO String
+                               (HTMLButtonElementClass self, GlibString string) =>
+                                 self -> IO string
 htmlButtonElementGetFormMethod self
   = ({# call webkit_dom_html_button_element_get_form_method #}
        (toHTMLButtonElement self))
@@ -140,7 +147,8 @@
          (toHTMLButtonElement self))
  
 htmlButtonElementSetFormTarget ::
-                               (HTMLButtonElementClass self) => self -> String -> IO ()
+                               (HTMLButtonElementClass self, GlibString string) =>
+                                 self -> string -> IO ()
 htmlButtonElementSetFormTarget self val
   = withUTFString val $
       \ valPtr ->
@@ -149,7 +157,8 @@
           valPtr
  
 htmlButtonElementGetFormTarget ::
-                               (HTMLButtonElementClass self) => self -> IO String
+                               (HTMLButtonElementClass self, GlibString string) =>
+                                 self -> IO string
 htmlButtonElementGetFormTarget self
   = ({# call webkit_dom_html_button_element_get_form_target #}
        (toHTMLButtonElement self))
@@ -157,7 +166,8 @@
       readUTFString
  
 htmlButtonElementSetName ::
-                         (HTMLButtonElementClass self) => self -> String -> IO ()
+                         (HTMLButtonElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlButtonElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -166,7 +176,8 @@
           valPtr
  
 htmlButtonElementGetName ::
-                         (HTMLButtonElementClass self) => self -> IO String
+                         (HTMLButtonElementClass self, GlibString string) =>
+                           self -> IO string
 htmlButtonElementGetName self
   = ({# call webkit_dom_html_button_element_get_name #}
        (toHTMLButtonElement self))
@@ -174,7 +185,8 @@
       readUTFString
  
 htmlButtonElementSetValue ::
-                          (HTMLButtonElementClass self) => self -> String -> IO ()
+                          (HTMLButtonElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlButtonElementSetValue self val
   = withUTFString val $
       \ valPtr ->
@@ -183,7 +195,8 @@
           valPtr
  
 htmlButtonElementGetValue ::
-                          (HTMLButtonElementClass self) => self -> IO String
+                          (HTMLButtonElementClass self, GlibString string) =>
+                            self -> IO string
 htmlButtonElementGetValue self
   = ({# call webkit_dom_html_button_element_get_value #}
        (toHTMLButtonElement self))
@@ -205,7 +218,8 @@
          (toHTMLButtonElement self))
  
 htmlButtonElementGetValidationMessage ::
-                                      (HTMLButtonElementClass self) => self -> IO String
+                                      (HTMLButtonElementClass self, GlibString string) =>
+                                        self -> IO string
 htmlButtonElementGetValidationMessage self
   = ({# call webkit_dom_html_button_element_get_validation_message #}
        (toHTMLButtonElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLCollection.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLCollection.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLCollection.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLCollection.chs
@@ -22,7 +22,8 @@
  
 #if WEBKIT_CHECK_VERSION(2,2,2)
 htmlCollectionNamedItem ::
-                        (HTMLCollectionClass self) => self -> String -> IO (Maybe Node)
+                        (HTMLCollectionClass self, GlibString string) =>
+                          self -> string -> IO (Maybe Node)
 htmlCollectionNamedItem self name
   = maybeNull (makeNewGObject mkNode)
       (withUTFString name $
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLDivElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLDivElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLDivElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLDivElement.chs
@@ -11,7 +11,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlDivElementSetAlign ::
-                       (HTMLDivElementClass self) => self -> String -> IO ()
+                       (HTMLDivElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlDivElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -20,7 +21,7 @@
           valPtr
  
 htmlDivElementGetAlign ::
-                       (HTMLDivElementClass self) => self -> IO String
+                       (HTMLDivElementClass self, GlibString string) => self -> IO string
 htmlDivElementGetAlign self
   = ({# call webkit_dom_html_div_element_get_align #}
        (toHTMLDivElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLDocument.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLDocument.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLDocument.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLDocument.chs
@@ -81,14 +81,16 @@
          (toHTMLDocument self))
  
 htmlDocumentSetDir ::
-                   (HTMLDocumentClass self) => self -> String -> IO ()
+                   (HTMLDocumentClass self, GlibString string) =>
+                     self -> string -> IO ()
 htmlDocumentSetDir self val
   = withUTFString val $
       \ valPtr ->
         {# call webkit_dom_html_document_set_dir #} (toHTMLDocument self)
           valPtr
  
-htmlDocumentGetDir :: (HTMLDocumentClass self) => self -> IO String
+htmlDocumentGetDir ::
+                   (HTMLDocumentClass self, GlibString string) => self -> IO string
 htmlDocumentGetDir self
   = ({# call webkit_dom_html_document_get_dir #}
        (toHTMLDocument self))
@@ -96,7 +98,8 @@
       readUTFString
  
 htmlDocumentSetDesignMode ::
-                          (HTMLDocumentClass self) => self -> String -> IO ()
+                          (HTMLDocumentClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlDocumentSetDesignMode self val
   = withUTFString val $
       \ valPtr ->
@@ -105,7 +108,7 @@
           valPtr
  
 htmlDocumentGetDesignMode ::
-                          (HTMLDocumentClass self) => self -> IO String
+                          (HTMLDocumentClass self, GlibString string) => self -> IO string
 htmlDocumentGetDesignMode self
   = ({# call webkit_dom_html_document_get_design_mode #}
        (toHTMLDocument self))
@@ -113,7 +116,7 @@
       readUTFString
  
 htmlDocumentGetCompatMode ::
-                          (HTMLDocumentClass self) => self -> IO String
+                          (HTMLDocumentClass self, GlibString string) => self -> IO string
 htmlDocumentGetCompatMode self
   = ({# call webkit_dom_html_document_get_compat_mode #}
        (toHTMLDocument self))
@@ -128,7 +131,8 @@
          (toHTMLDocument self))
  
 htmlDocumentSetBgColor ::
-                       (HTMLDocumentClass self) => self -> String -> IO ()
+                       (HTMLDocumentClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlDocumentSetBgColor self val
   = withUTFString val $
       \ valPtr ->
@@ -137,7 +141,7 @@
           valPtr
  
 htmlDocumentGetBgColor ::
-                       (HTMLDocumentClass self) => self -> IO String
+                       (HTMLDocumentClass self, GlibString string) => self -> IO string
 htmlDocumentGetBgColor self
   = ({# call webkit_dom_html_document_get_bg_color #}
        (toHTMLDocument self))
@@ -145,7 +149,8 @@
       readUTFString
  
 htmlDocumentSetFgColor ::
-                       (HTMLDocumentClass self) => self -> String -> IO ()
+                       (HTMLDocumentClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlDocumentSetFgColor self val
   = withUTFString val $
       \ valPtr ->
@@ -154,7 +159,7 @@
           valPtr
  
 htmlDocumentGetFgColor ::
-                       (HTMLDocumentClass self) => self -> IO String
+                       (HTMLDocumentClass self, GlibString string) => self -> IO string
 htmlDocumentGetFgColor self
   = ({# call webkit_dom_html_document_get_fg_color #}
        (toHTMLDocument self))
@@ -162,7 +167,8 @@
       readUTFString
  
 htmlDocumentSetAlinkColor ::
-                          (HTMLDocumentClass self) => self -> String -> IO ()
+                          (HTMLDocumentClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlDocumentSetAlinkColor self val
   = withUTFString val $
       \ valPtr ->
@@ -171,7 +177,7 @@
           valPtr
  
 htmlDocumentGetAlinkColor ::
-                          (HTMLDocumentClass self) => self -> IO String
+                          (HTMLDocumentClass self, GlibString string) => self -> IO string
 htmlDocumentGetAlinkColor self
   = ({# call webkit_dom_html_document_get_alink_color #}
        (toHTMLDocument self))
@@ -179,7 +185,8 @@
       readUTFString
  
 htmlDocumentSetLinkColor ::
-                         (HTMLDocumentClass self) => self -> String -> IO ()
+                         (HTMLDocumentClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlDocumentSetLinkColor self val
   = withUTFString val $
       \ valPtr ->
@@ -188,7 +195,7 @@
           valPtr
  
 htmlDocumentGetLinkColor ::
-                         (HTMLDocumentClass self) => self -> IO String
+                         (HTMLDocumentClass self, GlibString string) => self -> IO string
 htmlDocumentGetLinkColor self
   = ({# call webkit_dom_html_document_get_link_color #}
        (toHTMLDocument self))
@@ -196,7 +203,8 @@
       readUTFString
  
 htmlDocumentSetVlinkColor ::
-                          (HTMLDocumentClass self) => self -> String -> IO ()
+                          (HTMLDocumentClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlDocumentSetVlinkColor self val
   = withUTFString val $
       \ valPtr ->
@@ -205,7 +213,7 @@
           valPtr
  
 htmlDocumentGetVlinkColor ::
-                          (HTMLDocumentClass self) => self -> IO String
+                          (HTMLDocumentClass self, GlibString string) => self -> IO string
 htmlDocumentGetVlinkColor self
   = ({# call webkit_dom_html_document_get_vlink_color #}
        (toHTMLDocument self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLElement.chs
@@ -27,8 +27,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlElementInsertAdjacentElement ::
-                                 (HTMLElementClass self, ElementClass element) =>
-                                   self -> String -> Maybe element -> IO (Maybe Element)
+                                 (HTMLElementClass self, ElementClass element, GlibString string) =>
+                                   self -> string -> Maybe element -> IO (Maybe Element)
 htmlElementInsertAdjacentElement self where' element
   = maybeNull (makeNewGObject mkElement)
       (propagateGError $
@@ -42,7 +42,8 @@
              errorPtr_)
  
 htmlElementInsertAdjacentHTML ::
-                              (HTMLElementClass self) => self -> String -> String -> IO ()
+                              (HTMLElementClass self, GlibString string) =>
+                                self -> string -> string -> IO ()
 htmlElementInsertAdjacentHTML self where' html
   = propagateGError $
       \ errorPtr_ ->
@@ -57,7 +58,8 @@
           errorPtr_
  
 htmlElementInsertAdjacentText ::
-                              (HTMLElementClass self) => self -> String -> String -> IO ()
+                              (HTMLElementClass self, GlibString string) =>
+                                self -> string -> string -> IO ()
 htmlElementInsertAdjacentText self where' text
   = propagateGError $
       \ errorPtr_ ->
@@ -76,14 +78,16 @@
   = {# call webkit_dom_html_element_click #} (toHTMLElement self)
  
 htmlElementSetTitle ::
-                    (HTMLElementClass self) => self -> String -> IO ()
+                    (HTMLElementClass self, GlibString string) =>
+                      self -> string -> IO ()
 htmlElementSetTitle self val
   = withUTFString val $
       \ valPtr ->
         {# call webkit_dom_html_element_set_title #} (toHTMLElement self)
           valPtr
  
-htmlElementGetTitle :: (HTMLElementClass self) => self -> IO String
+htmlElementGetTitle ::
+                    (HTMLElementClass self, GlibString string) => self -> IO string
 htmlElementGetTitle self
   = ({# call webkit_dom_html_element_get_title #}
        (toHTMLElement self))
@@ -91,14 +95,16 @@
       readUTFString
  
 htmlElementSetLang ::
-                   (HTMLElementClass self) => self -> String -> IO ()
+                   (HTMLElementClass self, GlibString string) =>
+                     self -> string -> IO ()
 htmlElementSetLang self val
   = withUTFString val $
       \ valPtr ->
         {# call webkit_dom_html_element_set_lang #} (toHTMLElement self)
           valPtr
  
-htmlElementGetLang :: (HTMLElementClass self) => self -> IO String
+htmlElementGetLang ::
+                   (HTMLElementClass self, GlibString string) => self -> IO string
 htmlElementGetLang self
   = ({# call webkit_dom_html_element_get_lang #}
        (toHTMLElement self))
@@ -120,14 +126,16 @@
          (toHTMLElement self))
  
 htmlElementSetDir ::
-                  (HTMLElementClass self) => self -> String -> IO ()
+                  (HTMLElementClass self, GlibString string) =>
+                    self -> string -> IO ()
 htmlElementSetDir self val
   = withUTFString val $
       \ valPtr ->
         {# call webkit_dom_html_element_set_dir #} (toHTMLElement self)
           valPtr
  
-htmlElementGetDir :: (HTMLElementClass self) => self -> IO String
+htmlElementGetDir ::
+                  (HTMLElementClass self, GlibString string) => self -> IO string
 htmlElementGetDir self
   = ({# call webkit_dom_html_element_get_dir #} (toHTMLElement self))
       >>=
@@ -161,7 +169,8 @@
          (toHTMLElement self))
  
 htmlElementSetWebkitdropzone ::
-                             (HTMLElementClass self) => self -> String -> IO ()
+                             (HTMLElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlElementSetWebkitdropzone self val
   = withUTFString val $
       \ valPtr ->
@@ -170,7 +179,7 @@
           valPtr
  
 htmlElementGetWebkitdropzone ::
-                             (HTMLElementClass self) => self -> IO String
+                             (HTMLElementClass self, GlibString string) => self -> IO string
 htmlElementGetWebkitdropzone self
   = ({# call webkit_dom_html_element_get_webkitdropzone #}
        (toHTMLElement self))
@@ -191,7 +200,8 @@
          (toHTMLElement self))
  
 htmlElementSetAccessKey ::
-                        (HTMLElementClass self) => self -> String -> IO ()
+                        (HTMLElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlElementSetAccessKey self val
   = withUTFString val $
       \ valPtr ->
@@ -200,7 +210,7 @@
           valPtr
  
 htmlElementGetAccessKey ::
-                        (HTMLElementClass self) => self -> IO String
+                        (HTMLElementClass self, GlibString string) => self -> IO string
 htmlElementGetAccessKey self
   = ({# call webkit_dom_html_element_get_access_key #}
        (toHTMLElement self))
@@ -208,7 +218,8 @@
       readUTFString
  
 htmlElementSetInnerHTML ::
-                        (HTMLElementClass self) => self -> String -> IO ()
+                        (HTMLElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlElementSetInnerHTML self val
   = propagateGError $
       \ errorPtr_ ->
@@ -220,7 +231,7 @@
           errorPtr_
  
 htmlElementGetInnerHTML ::
-                        (HTMLElementClass self) => self -> IO String
+                        (HTMLElementClass self, GlibString string) => self -> IO string
 htmlElementGetInnerHTML self
   = ({# call webkit_dom_html_element_get_inner_html #}
        (toHTMLElement self))
@@ -228,7 +239,8 @@
       readUTFString
  
 htmlElementSetInnerText ::
-                        (HTMLElementClass self) => self -> String -> IO ()
+                        (HTMLElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlElementSetInnerText self val
   = propagateGError $
       \ errorPtr_ ->
@@ -240,7 +252,7 @@
           errorPtr_
  
 htmlElementGetInnerText ::
-                        (HTMLElementClass self) => self -> IO String
+                        (HTMLElementClass self, GlibString string) => self -> IO string
 htmlElementGetInnerText self
   = ({# call webkit_dom_html_element_get_inner_text #}
        (toHTMLElement self))
@@ -248,7 +260,8 @@
       readUTFString
  
 htmlElementSetOuterHTML ::
-                        (HTMLElementClass self) => self -> String -> IO ()
+                        (HTMLElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlElementSetOuterHTML self val
   = propagateGError $
       \ errorPtr_ ->
@@ -260,7 +273,7 @@
           errorPtr_
  
 htmlElementGetOuterHTML ::
-                        (HTMLElementClass self) => self -> IO String
+                        (HTMLElementClass self, GlibString string) => self -> IO string
 htmlElementGetOuterHTML self
   = ({# call webkit_dom_html_element_get_outer_html #}
        (toHTMLElement self))
@@ -268,7 +281,8 @@
       readUTFString
  
 htmlElementSetOuterText ::
-                        (HTMLElementClass self) => self -> String -> IO ()
+                        (HTMLElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlElementSetOuterText self val
   = propagateGError $
       \ errorPtr_ ->
@@ -280,7 +294,7 @@
           errorPtr_
  
 htmlElementGetOuterText ::
-                        (HTMLElementClass self) => self -> IO String
+                        (HTMLElementClass self, GlibString string) => self -> IO string
 htmlElementGetOuterText self
   = ({# call webkit_dom_html_element_get_outer_text #}
        (toHTMLElement self))
@@ -295,7 +309,8 @@
          (toHTMLElement self))
  
 htmlElementSetContentEditable ::
-                              (HTMLElementClass self) => self -> String -> IO ()
+                              (HTMLElementClass self, GlibString string) =>
+                                self -> string -> IO ()
 htmlElementSetContentEditable self val
   = propagateGError $
       \ errorPtr_ ->
@@ -307,7 +322,7 @@
           errorPtr_
  
 htmlElementGetContentEditable ::
-                              (HTMLElementClass self) => self -> IO String
+                              (HTMLElementClass self, GlibString string) => self -> IO string
 htmlElementGetContentEditable self
   = ({# call webkit_dom_html_element_get_content_editable #}
        (toHTMLElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLEmbedElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLEmbedElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLEmbedElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLEmbedElement.chs
@@ -15,7 +15,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlEmbedElementSetAlign ::
-                         (HTMLEmbedElementClass self) => self -> String -> IO ()
+                         (HTMLEmbedElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlEmbedElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -24,7 +25,8 @@
           valPtr
  
 htmlEmbedElementGetAlign ::
-                         (HTMLEmbedElementClass self) => self -> IO String
+                         (HTMLEmbedElementClass self, GlibString string) =>
+                           self -> IO string
 htmlEmbedElementGetAlign self
   = ({# call webkit_dom_html_embed_element_get_align #}
        (toHTMLEmbedElement self))
@@ -46,7 +48,8 @@
          (toHTMLEmbedElement self))
  
 htmlEmbedElementSetName ::
-                        (HTMLEmbedElementClass self) => self -> String -> IO ()
+                        (HTMLEmbedElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlEmbedElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -55,7 +58,8 @@
           valPtr
  
 htmlEmbedElementGetName ::
-                        (HTMLEmbedElementClass self) => self -> IO String
+                        (HTMLEmbedElementClass self, GlibString string) =>
+                          self -> IO string
 htmlEmbedElementGetName self
   = ({# call webkit_dom_html_embed_element_get_name #}
        (toHTMLEmbedElement self))
@@ -63,7 +67,8 @@
       readUTFString
  
 htmlEmbedElementSetSrc ::
-                       (HTMLEmbedElementClass self) => self -> String -> IO ()
+                       (HTMLEmbedElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlEmbedElementSetSrc self val
   = withUTFString val $
       \ valPtr ->
@@ -72,7 +77,8 @@
           valPtr
  
 htmlEmbedElementGetSrc ::
-                       (HTMLEmbedElementClass self) => self -> IO String
+                       (HTMLEmbedElementClass self, GlibString string) =>
+                         self -> IO string
 htmlEmbedElementGetSrc self
   = ({# call webkit_dom_html_embed_element_get_src #}
        (toHTMLEmbedElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLFieldSetElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLFieldSetElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLFieldSetElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLFieldSetElement.chs
@@ -29,7 +29,8 @@
          (toHTMLFieldSetElement self))
  
 htmlFieldSetElementSetCustomValidity ::
-                                     (HTMLFieldSetElementClass self) => self -> String -> IO ()
+                                     (HTMLFieldSetElementClass self, GlibString string) =>
+                                       self -> string -> IO ()
 htmlFieldSetElementSetCustomValidity self error
   = withUTFString error $
       \ errorPtr ->
@@ -63,7 +64,8 @@
  
 #if WEBKIT_CHECK_VERSION(1,10,0)
 htmlFieldSetElementSetName ::
-                           (HTMLFieldSetElementClass self) => self -> String -> IO ()
+                           (HTMLFieldSetElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlFieldSetElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -72,7 +74,8 @@
           valPtr
  
 htmlFieldSetElementGetName ::
-                           (HTMLFieldSetElementClass self) => self -> IO String
+                           (HTMLFieldSetElementClass self, GlibString string) =>
+                             self -> IO string
 htmlFieldSetElementGetName self
   = ({# call webkit_dom_html_field_set_element_get_name #}
        (toHTMLFieldSetElement self))
@@ -103,7 +106,8 @@
          (toHTMLFieldSetElement self))
  
 htmlFieldSetElementGetValidationMessage ::
-                                        (HTMLFieldSetElementClass self) => self -> IO String
+                                        (HTMLFieldSetElementClass self, GlibString string) =>
+                                          self -> IO string
 htmlFieldSetElementGetValidationMessage self
   = ({# call webkit_dom_html_field_set_element_get_validation_message
        #}
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLFontElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLFontElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLFontElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLFontElement.chs
@@ -13,7 +13,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlFontElementSetColor ::
-                        (HTMLFontElementClass self) => self -> String -> IO ()
+                        (HTMLFontElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlFontElementSetColor self val
   = withUTFString val $
       \ valPtr ->
@@ -22,7 +23,7 @@
           valPtr
  
 htmlFontElementGetColor ::
-                        (HTMLFontElementClass self) => self -> IO String
+                        (HTMLFontElementClass self, GlibString string) => self -> IO string
 htmlFontElementGetColor self
   = ({# call webkit_dom_html_font_element_get_color #}
        (toHTMLFontElement self))
@@ -30,7 +31,8 @@
       readUTFString
  
 htmlFontElementSetFace ::
-                       (HTMLFontElementClass self) => self -> String -> IO ()
+                       (HTMLFontElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlFontElementSetFace self val
   = withUTFString val $
       \ valPtr ->
@@ -39,7 +41,7 @@
           valPtr
  
 htmlFontElementGetFace ::
-                       (HTMLFontElementClass self) => self -> IO String
+                       (HTMLFontElementClass self, GlibString string) => self -> IO string
 htmlFontElementGetFace self
   = ({# call webkit_dom_html_font_element_get_face #}
        (toHTMLFontElement self))
@@ -47,7 +49,8 @@
       readUTFString
  
 htmlFontElementSetSize ::
-                       (HTMLFontElementClass self) => self -> String -> IO ()
+                       (HTMLFontElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlFontElementSetSize self val
   = withUTFString val $
       \ valPtr ->
@@ -56,7 +59,7 @@
           valPtr
  
 htmlFontElementGetSize ::
-                       (HTMLFontElementClass self) => self -> IO String
+                       (HTMLFontElementClass self, GlibString string) => self -> IO string
 htmlFontElementGetSize self
   = ({# call webkit_dom_html_font_element_get_size #}
        (toHTMLFontElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLFormElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLFormElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLFormElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLFormElement.chs
@@ -40,7 +40,8 @@
          (toHTMLFormElement self))
  
 htmlFormElementSetAcceptCharset ::
-                                (HTMLFormElementClass self) => self -> String -> IO ()
+                                (HTMLFormElementClass self, GlibString string) =>
+                                  self -> string -> IO ()
 htmlFormElementSetAcceptCharset self val
   = withUTFString val $
       \ valPtr ->
@@ -49,7 +50,7 @@
           valPtr
  
 htmlFormElementGetAcceptCharset ::
-                                (HTMLFormElementClass self) => self -> IO String
+                                (HTMLFormElementClass self, GlibString string) => self -> IO string
 htmlFormElementGetAcceptCharset self
   = ({# call webkit_dom_html_form_element_get_accept_charset #}
        (toHTMLFormElement self))
@@ -57,7 +58,8 @@
       readUTFString
  
 htmlFormElementSetAction ::
-                         (HTMLFormElementClass self) => self -> String -> IO ()
+                         (HTMLFormElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlFormElementSetAction self val
   = withUTFString val $
       \ valPtr ->
@@ -66,7 +68,7 @@
           valPtr
  
 htmlFormElementGetAction ::
-                         (HTMLFormElementClass self) => self -> IO String
+                         (HTMLFormElementClass self, GlibString string) => self -> IO string
 htmlFormElementGetAction self
   = ({# call webkit_dom_html_form_element_get_action #}
        (toHTMLFormElement self))
@@ -74,7 +76,8 @@
       readUTFString
  
 htmlFormElementSetAutocomplete ::
-                               (HTMLFormElementClass self) => self -> String -> IO ()
+                               (HTMLFormElementClass self, GlibString string) =>
+                                 self -> string -> IO ()
 htmlFormElementSetAutocomplete self val
   = withUTFString val $
       \ valPtr ->
@@ -83,7 +86,7 @@
           valPtr
  
 htmlFormElementGetAutocomplete ::
-                               (HTMLFormElementClass self) => self -> IO String
+                               (HTMLFormElementClass self, GlibString string) => self -> IO string
 htmlFormElementGetAutocomplete self
   = ({# call webkit_dom_html_form_element_get_autocomplete #}
        (toHTMLFormElement self))
@@ -91,7 +94,8 @@
       readUTFString
  
 htmlFormElementSetEnctype ::
-                          (HTMLFormElementClass self) => self -> String -> IO ()
+                          (HTMLFormElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlFormElementSetEnctype self val
   = withUTFString val $
       \ valPtr ->
@@ -100,7 +104,7 @@
           valPtr
  
 htmlFormElementGetEnctype ::
-                          (HTMLFormElementClass self) => self -> IO String
+                          (HTMLFormElementClass self, GlibString string) => self -> IO string
 htmlFormElementGetEnctype self
   = ({# call webkit_dom_html_form_element_get_enctype #}
        (toHTMLFormElement self))
@@ -108,7 +112,8 @@
       readUTFString
  
 htmlFormElementSetEncoding ::
-                           (HTMLFormElementClass self) => self -> String -> IO ()
+                           (HTMLFormElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlFormElementSetEncoding self val
   = withUTFString val $
       \ valPtr ->
@@ -117,7 +122,7 @@
           valPtr
  
 htmlFormElementGetEncoding ::
-                           (HTMLFormElementClass self) => self -> IO String
+                           (HTMLFormElementClass self, GlibString string) => self -> IO string
 htmlFormElementGetEncoding self
   = ({# call webkit_dom_html_form_element_get_encoding #}
        (toHTMLFormElement self))
@@ -125,7 +130,8 @@
       readUTFString
  
 htmlFormElementSetMethod ::
-                         (HTMLFormElementClass self) => self -> String -> IO ()
+                         (HTMLFormElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlFormElementSetMethod self val
   = withUTFString val $
       \ valPtr ->
@@ -134,7 +140,7 @@
           valPtr
  
 htmlFormElementGetMethod ::
-                         (HTMLFormElementClass self) => self -> IO String
+                         (HTMLFormElementClass self, GlibString string) => self -> IO string
 htmlFormElementGetMethod self
   = ({# call webkit_dom_html_form_element_get_method #}
        (toHTMLFormElement self))
@@ -142,7 +148,8 @@
       readUTFString
  
 htmlFormElementSetName ::
-                       (HTMLFormElementClass self) => self -> String -> IO ()
+                       (HTMLFormElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlFormElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -151,7 +158,7 @@
           valPtr
  
 htmlFormElementGetName ::
-                       (HTMLFormElementClass self) => self -> IO String
+                       (HTMLFormElementClass self, GlibString string) => self -> IO string
 htmlFormElementGetName self
   = ({# call webkit_dom_html_form_element_get_name #}
        (toHTMLFormElement self))
@@ -173,7 +180,8 @@
          (toHTMLFormElement self))
  
 htmlFormElementSetTarget ::
-                         (HTMLFormElementClass self) => self -> String -> IO ()
+                         (HTMLFormElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlFormElementSetTarget self val
   = withUTFString val $
       \ valPtr ->
@@ -182,7 +190,7 @@
           valPtr
  
 htmlFormElementGetTarget ::
-                         (HTMLFormElementClass self) => self -> IO String
+                         (HTMLFormElementClass self, GlibString string) => self -> IO string
 htmlFormElementGetTarget self
   = ({# call webkit_dom_html_form_element_get_target #}
        (toHTMLFormElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLFrameElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLFrameElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLFrameElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLFrameElement.chs
@@ -20,7 +20,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlFrameElementSetFrameBorder ::
-                               (HTMLFrameElementClass self) => self -> String -> IO ()
+                               (HTMLFrameElementClass self, GlibString string) =>
+                                 self -> string -> IO ()
 htmlFrameElementSetFrameBorder self val
   = withUTFString val $
       \ valPtr ->
@@ -29,7 +30,8 @@
           valPtr
  
 htmlFrameElementGetFrameBorder ::
-                               (HTMLFrameElementClass self) => self -> IO String
+                               (HTMLFrameElementClass self, GlibString string) =>
+                                 self -> IO string
 htmlFrameElementGetFrameBorder self
   = ({# call webkit_dom_html_frame_element_get_frame_border #}
        (toHTMLFrameElement self))
@@ -37,7 +39,8 @@
       readUTFString
  
 htmlFrameElementSetLongDesc ::
-                            (HTMLFrameElementClass self) => self -> String -> IO ()
+                            (HTMLFrameElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlFrameElementSetLongDesc self val
   = withUTFString val $
       \ valPtr ->
@@ -46,7 +49,8 @@
           valPtr
  
 htmlFrameElementGetLongDesc ::
-                            (HTMLFrameElementClass self) => self -> IO String
+                            (HTMLFrameElementClass self, GlibString string) =>
+                              self -> IO string
 htmlFrameElementGetLongDesc self
   = ({# call webkit_dom_html_frame_element_get_long_desc #}
        (toHTMLFrameElement self))
@@ -54,7 +58,8 @@
       readUTFString
  
 htmlFrameElementSetMarginHeight ::
-                                (HTMLFrameElementClass self) => self -> String -> IO ()
+                                (HTMLFrameElementClass self, GlibString string) =>
+                                  self -> string -> IO ()
 htmlFrameElementSetMarginHeight self val
   = withUTFString val $
       \ valPtr ->
@@ -63,7 +68,8 @@
           valPtr
  
 htmlFrameElementGetMarginHeight ::
-                                (HTMLFrameElementClass self) => self -> IO String
+                                (HTMLFrameElementClass self, GlibString string) =>
+                                  self -> IO string
 htmlFrameElementGetMarginHeight self
   = ({# call webkit_dom_html_frame_element_get_margin_height #}
        (toHTMLFrameElement self))
@@ -71,7 +77,8 @@
       readUTFString
  
 htmlFrameElementSetMarginWidth ::
-                               (HTMLFrameElementClass self) => self -> String -> IO ()
+                               (HTMLFrameElementClass self, GlibString string) =>
+                                 self -> string -> IO ()
 htmlFrameElementSetMarginWidth self val
   = withUTFString val $
       \ valPtr ->
@@ -80,7 +87,8 @@
           valPtr
  
 htmlFrameElementGetMarginWidth ::
-                               (HTMLFrameElementClass self) => self -> IO String
+                               (HTMLFrameElementClass self, GlibString string) =>
+                                 self -> IO string
 htmlFrameElementGetMarginWidth self
   = ({# call webkit_dom_html_frame_element_get_margin_width #}
        (toHTMLFrameElement self))
@@ -88,7 +96,8 @@
       readUTFString
  
 htmlFrameElementSetName ::
-                        (HTMLFrameElementClass self) => self -> String -> IO ()
+                        (HTMLFrameElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlFrameElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -97,7 +106,8 @@
           valPtr
  
 htmlFrameElementGetName ::
-                        (HTMLFrameElementClass self) => self -> IO String
+                        (HTMLFrameElementClass self, GlibString string) =>
+                          self -> IO string
 htmlFrameElementGetName self
   = ({# call webkit_dom_html_frame_element_get_name #}
        (toHTMLFrameElement self))
@@ -119,7 +129,8 @@
          (toHTMLFrameElement self))
  
 htmlFrameElementSetScrolling ::
-                             (HTMLFrameElementClass self) => self -> String -> IO ()
+                             (HTMLFrameElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlFrameElementSetScrolling self val
   = withUTFString val $
       \ valPtr ->
@@ -128,7 +139,8 @@
           valPtr
  
 htmlFrameElementGetScrolling ::
-                             (HTMLFrameElementClass self) => self -> IO String
+                             (HTMLFrameElementClass self, GlibString string) =>
+                               self -> IO string
 htmlFrameElementGetScrolling self
   = ({# call webkit_dom_html_frame_element_get_scrolling #}
        (toHTMLFrameElement self))
@@ -136,7 +148,8 @@
       readUTFString
  
 htmlFrameElementSetSrc ::
-                       (HTMLFrameElementClass self) => self -> String -> IO ()
+                       (HTMLFrameElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlFrameElementSetSrc self val
   = withUTFString val $
       \ valPtr ->
@@ -145,7 +158,8 @@
           valPtr
  
 htmlFrameElementGetSrc ::
-                       (HTMLFrameElementClass self) => self -> IO String
+                       (HTMLFrameElementClass self, GlibString string) =>
+                         self -> IO string
 htmlFrameElementGetSrc self
   = ({# call webkit_dom_html_frame_element_get_src #}
        (toHTMLFrameElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLFrameSetElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLFrameSetElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLFrameSetElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLFrameSetElement.chs
@@ -20,7 +20,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlFrameSetElementSetCols ::
-                           (HTMLFrameSetElementClass self) => self -> String -> IO ()
+                           (HTMLFrameSetElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlFrameSetElementSetCols self val
   = withUTFString val $
       \ valPtr ->
@@ -29,7 +30,8 @@
           valPtr
  
 htmlFrameSetElementGetCols ::
-                           (HTMLFrameSetElementClass self) => self -> IO String
+                           (HTMLFrameSetElementClass self, GlibString string) =>
+                             self -> IO string
 htmlFrameSetElementGetCols self
   = ({# call webkit_dom_html_frame_set_element_get_cols #}
        (toHTMLFrameSetElement self))
@@ -37,7 +39,8 @@
       readUTFString
  
 htmlFrameSetElementSetRows ::
-                           (HTMLFrameSetElementClass self) => self -> String -> IO ()
+                           (HTMLFrameSetElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlFrameSetElementSetRows self val
   = withUTFString val $
       \ valPtr ->
@@ -46,7 +49,8 @@
           valPtr
  
 htmlFrameSetElementGetRows ::
-                           (HTMLFrameSetElementClass self) => self -> IO String
+                           (HTMLFrameSetElementClass self, GlibString string) =>
+                             self -> IO string
 htmlFrameSetElementGetRows self
   = ({# call webkit_dom_html_frame_set_element_get_rows #}
        (toHTMLFrameSetElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLHRElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLHRElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLHRElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLHRElement.chs
@@ -13,7 +13,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlhrElementSetAlign ::
-                      (HTMLHRElementClass self) => self -> String -> IO ()
+                      (HTMLHRElementClass self, GlibString string) =>
+                        self -> string -> IO ()
 htmlhrElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -22,7 +23,7 @@
           valPtr
  
 htmlhrElementGetAlign ::
-                      (HTMLHRElementClass self) => self -> IO String
+                      (HTMLHRElementClass self, GlibString string) => self -> IO string
 htmlhrElementGetAlign self
   = ({# call webkit_dom_htmlhr_element_get_align #}
        (toHTMLHRElement self))
@@ -44,7 +45,8 @@
          (toHTMLHRElement self))
  
 htmlhrElementSetSize ::
-                     (HTMLHRElementClass self) => self -> String -> IO ()
+                     (HTMLHRElementClass self, GlibString string) =>
+                       self -> string -> IO ()
 htmlhrElementSetSize self val
   = withUTFString val $
       \ valPtr ->
@@ -53,7 +55,7 @@
           valPtr
  
 htmlhrElementGetSize ::
-                     (HTMLHRElementClass self) => self -> IO String
+                     (HTMLHRElementClass self, GlibString string) => self -> IO string
 htmlhrElementGetSize self
   = ({# call webkit_dom_htmlhr_element_get_size #}
        (toHTMLHRElement self))
@@ -61,7 +63,8 @@
       readUTFString
  
 htmlhrElementSetWidth ::
-                      (HTMLHRElementClass self) => self -> String -> IO ()
+                      (HTMLHRElementClass self, GlibString string) =>
+                        self -> string -> IO ()
 htmlhrElementSetWidth self val
   = withUTFString val $
       \ valPtr ->
@@ -70,7 +73,7 @@
           valPtr
  
 htmlhrElementGetWidth ::
-                      (HTMLHRElementClass self) => self -> IO String
+                      (HTMLHRElementClass self, GlibString string) => self -> IO string
 htmlhrElementGetWidth self
   = ({# call webkit_dom_htmlhr_element_get_width #}
        (toHTMLHRElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLHeadElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLHeadElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLHeadElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLHeadElement.chs
@@ -11,7 +11,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlHeadElementSetProfile ::
-                          (HTMLHeadElementClass self) => self -> String -> IO ()
+                          (HTMLHeadElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlHeadElementSetProfile self val
   = withUTFString val $
       \ valPtr ->
@@ -20,7 +21,7 @@
           valPtr
  
 htmlHeadElementGetProfile ::
-                          (HTMLHeadElementClass self) => self -> IO String
+                          (HTMLHeadElementClass self, GlibString string) => self -> IO string
 htmlHeadElementGetProfile self
   = ({# call webkit_dom_html_head_element_get_profile #}
        (toHTMLHeadElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLHeadingElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLHeadingElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLHeadingElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLHeadingElement.chs
@@ -12,7 +12,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlHeadingElementSetAlign ::
-                           (HTMLHeadingElementClass self) => self -> String -> IO ()
+                           (HTMLHeadingElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlHeadingElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -21,7 +22,8 @@
           valPtr
  
 htmlHeadingElementGetAlign ::
-                           (HTMLHeadingElementClass self) => self -> IO String
+                           (HTMLHeadingElementClass self, GlibString string) =>
+                             self -> IO string
 htmlHeadingElementGetAlign self
   = ({# call webkit_dom_html_heading_element_get_align #}
        (toHTMLHeadingElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLHtmlElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLHtmlElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLHtmlElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLHtmlElement.chs
@@ -12,7 +12,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlHtmlElementSetVersion ::
-                          (HTMLHtmlElementClass self) => self -> String -> IO ()
+                          (HTMLHtmlElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlHtmlElementSetVersion self val
   = withUTFString val $
       \ valPtr ->
@@ -21,7 +22,7 @@
           valPtr
  
 htmlHtmlElementGetVersion ::
-                          (HTMLHtmlElementClass self) => self -> IO String
+                          (HTMLHtmlElementClass self, GlibString string) => self -> IO string
 htmlHtmlElementGetVersion self
   = ({# call webkit_dom_html_html_element_get_version #}
        (toHTMLHtmlElement self))
@@ -29,7 +30,8 @@
       readUTFString
  
 htmlHtmlElementSetManifest ::
-                           (HTMLHtmlElementClass self) => self -> String -> IO ()
+                           (HTMLHtmlElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlHtmlElementSetManifest self val
   = withUTFString val $
       \ valPtr ->
@@ -38,7 +40,7 @@
           valPtr
  
 htmlHtmlElementGetManifest ::
-                           (HTMLHtmlElementClass self) => self -> IO String
+                           (HTMLHtmlElementClass self, GlibString string) => self -> IO string
 htmlHtmlElementGetManifest self
   = ({# call webkit_dom_html_html_element_get_manifest #}
        (toHTMLHtmlElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLIFrameElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLIFrameElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLIFrameElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLIFrameElement.chs
@@ -29,7 +29,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmliFrameElementSetAlign ::
-                          (HTMLIFrameElementClass self) => self -> String -> IO ()
+                          (HTMLIFrameElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmliFrameElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -38,7 +39,8 @@
           valPtr
  
 htmliFrameElementGetAlign ::
-                          (HTMLIFrameElementClass self) => self -> IO String
+                          (HTMLIFrameElementClass self, GlibString string) =>
+                            self -> IO string
 htmliFrameElementGetAlign self
   = ({# call webkit_dom_html_iframe_element_get_align #}
        (toHTMLIFrameElement self))
@@ -46,7 +48,8 @@
       readUTFString
  
 htmliFrameElementSetFrameBorder ::
-                                (HTMLIFrameElementClass self) => self -> String -> IO ()
+                                (HTMLIFrameElementClass self, GlibString string) =>
+                                  self -> string -> IO ()
 htmliFrameElementSetFrameBorder self val
   = withUTFString val $
       \ valPtr ->
@@ -55,7 +58,8 @@
           valPtr
  
 htmliFrameElementGetFrameBorder ::
-                                (HTMLIFrameElementClass self) => self -> IO String
+                                (HTMLIFrameElementClass self, GlibString string) =>
+                                  self -> IO string
 htmliFrameElementGetFrameBorder self
   = ({# call webkit_dom_html_iframe_element_get_frame_border #}
        (toHTMLIFrameElement self))
@@ -63,7 +67,8 @@
       readUTFString
  
 htmliFrameElementSetHeight ::
-                           (HTMLIFrameElementClass self) => self -> String -> IO ()
+                           (HTMLIFrameElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmliFrameElementSetHeight self val
   = withUTFString val $
       \ valPtr ->
@@ -72,7 +77,8 @@
           valPtr
  
 htmliFrameElementGetHeight ::
-                           (HTMLIFrameElementClass self) => self -> IO String
+                           (HTMLIFrameElementClass self, GlibString string) =>
+                             self -> IO string
 htmliFrameElementGetHeight self
   = ({# call webkit_dom_html_iframe_element_get_height #}
        (toHTMLIFrameElement self))
@@ -80,7 +86,8 @@
       readUTFString
  
 htmliFrameElementSetLongDesc ::
-                             (HTMLIFrameElementClass self) => self -> String -> IO ()
+                             (HTMLIFrameElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmliFrameElementSetLongDesc self val
   = withUTFString val $
       \ valPtr ->
@@ -89,7 +96,8 @@
           valPtr
  
 htmliFrameElementGetLongDesc ::
-                             (HTMLIFrameElementClass self) => self -> IO String
+                             (HTMLIFrameElementClass self, GlibString string) =>
+                               self -> IO string
 htmliFrameElementGetLongDesc self
   = ({# call webkit_dom_html_iframe_element_get_long_desc #}
        (toHTMLIFrameElement self))
@@ -97,7 +105,8 @@
       readUTFString
  
 htmliFrameElementSetMarginHeight ::
-                                 (HTMLIFrameElementClass self) => self -> String -> IO ()
+                                 (HTMLIFrameElementClass self, GlibString string) =>
+                                   self -> string -> IO ()
 htmliFrameElementSetMarginHeight self val
   = withUTFString val $
       \ valPtr ->
@@ -106,7 +115,8 @@
           valPtr
  
 htmliFrameElementGetMarginHeight ::
-                                 (HTMLIFrameElementClass self) => self -> IO String
+                                 (HTMLIFrameElementClass self, GlibString string) =>
+                                   self -> IO string
 htmliFrameElementGetMarginHeight self
   = ({# call webkit_dom_html_iframe_element_get_margin_height #}
        (toHTMLIFrameElement self))
@@ -114,7 +124,8 @@
       readUTFString
  
 htmliFrameElementSetMarginWidth ::
-                                (HTMLIFrameElementClass self) => self -> String -> IO ()
+                                (HTMLIFrameElementClass self, GlibString string) =>
+                                  self -> string -> IO ()
 htmliFrameElementSetMarginWidth self val
   = withUTFString val $
       \ valPtr ->
@@ -123,7 +134,8 @@
           valPtr
  
 htmliFrameElementGetMarginWidth ::
-                                (HTMLIFrameElementClass self) => self -> IO String
+                                (HTMLIFrameElementClass self, GlibString string) =>
+                                  self -> IO string
 htmliFrameElementGetMarginWidth self
   = ({# call webkit_dom_html_iframe_element_get_margin_width #}
        (toHTMLIFrameElement self))
@@ -131,7 +143,8 @@
       readUTFString
  
 htmliFrameElementSetName ::
-                         (HTMLIFrameElementClass self) => self -> String -> IO ()
+                         (HTMLIFrameElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmliFrameElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -140,7 +153,8 @@
           valPtr
  
 htmliFrameElementGetName ::
-                         (HTMLIFrameElementClass self) => self -> IO String
+                         (HTMLIFrameElementClass self, GlibString string) =>
+                           self -> IO string
 htmliFrameElementGetName self
   = ({# call webkit_dom_html_iframe_element_get_name #}
        (toHTMLIFrameElement self))
@@ -148,7 +162,8 @@
       readUTFString
  
 htmliFrameElementSetSandbox ::
-                            (HTMLIFrameElementClass self) => self -> String -> IO ()
+                            (HTMLIFrameElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmliFrameElementSetSandbox self val
   = withUTFString val $
       \ valPtr ->
@@ -157,7 +172,8 @@
           valPtr
  
 htmliFrameElementGetSandbox ::
-                            (HTMLIFrameElementClass self) => self -> IO String
+                            (HTMLIFrameElementClass self, GlibString string) =>
+                              self -> IO string
 htmliFrameElementGetSandbox self
   = ({# call webkit_dom_html_iframe_element_get_sandbox #}
        (toHTMLIFrameElement self))
@@ -181,7 +197,8 @@
 #endif
  
 htmliFrameElementSetScrolling ::
-                              (HTMLIFrameElementClass self) => self -> String -> IO ()
+                              (HTMLIFrameElementClass self, GlibString string) =>
+                                self -> string -> IO ()
 htmliFrameElementSetScrolling self val
   = withUTFString val $
       \ valPtr ->
@@ -190,7 +207,8 @@
           valPtr
  
 htmliFrameElementGetScrolling ::
-                              (HTMLIFrameElementClass self) => self -> IO String
+                              (HTMLIFrameElementClass self, GlibString string) =>
+                                self -> IO string
 htmliFrameElementGetScrolling self
   = ({# call webkit_dom_html_iframe_element_get_scrolling #}
        (toHTMLIFrameElement self))
@@ -198,7 +216,8 @@
       readUTFString
  
 htmliFrameElementSetSrc ::
-                        (HTMLIFrameElementClass self) => self -> String -> IO ()
+                        (HTMLIFrameElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmliFrameElementSetSrc self val
   = withUTFString val $
       \ valPtr ->
@@ -207,7 +226,8 @@
           valPtr
  
 htmliFrameElementGetSrc ::
-                        (HTMLIFrameElementClass self) => self -> IO String
+                        (HTMLIFrameElementClass self, GlibString string) =>
+                          self -> IO string
 htmliFrameElementGetSrc self
   = ({# call webkit_dom_html_iframe_element_get_src #}
        (toHTMLIFrameElement self))
@@ -216,7 +236,8 @@
  
 #if WEBKIT_CHECK_VERSION(1,10,0)
 htmliFrameElementSetSrcdoc ::
-                           (HTMLIFrameElementClass self) => self -> String -> IO ()
+                           (HTMLIFrameElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmliFrameElementSetSrcdoc self val
   = withUTFString val $
       \ valPtr ->
@@ -225,7 +246,8 @@
           valPtr
  
 htmliFrameElementGetSrcdoc ::
-                           (HTMLIFrameElementClass self) => self -> IO String
+                           (HTMLIFrameElementClass self, GlibString string) =>
+                             self -> IO string
 htmliFrameElementGetSrcdoc self
   = ({# call webkit_dom_html_iframe_element_get_srcdoc #}
        (toHTMLIFrameElement self))
@@ -234,7 +256,8 @@
 #endif
  
 htmliFrameElementSetWidth ::
-                          (HTMLIFrameElementClass self) => self -> String -> IO ()
+                          (HTMLIFrameElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmliFrameElementSetWidth self val
   = withUTFString val $
       \ valPtr ->
@@ -243,7 +266,8 @@
           valPtr
  
 htmliFrameElementGetWidth ::
-                          (HTMLIFrameElementClass self) => self -> IO String
+                          (HTMLIFrameElementClass self, GlibString string) =>
+                            self -> IO string
 htmliFrameElementGetWidth self
   = ({# call webkit_dom_html_iframe_element_get_width #}
        (toHTMLIFrameElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLImageElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLImageElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLImageElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLImageElement.chs
@@ -29,7 +29,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlImageElementSetName ::
-                        (HTMLImageElementClass self) => self -> String -> IO ()
+                        (HTMLImageElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlImageElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -38,7 +39,8 @@
           valPtr
  
 htmlImageElementGetName ::
-                        (HTMLImageElementClass self) => self -> IO String
+                        (HTMLImageElementClass self, GlibString string) =>
+                          self -> IO string
 htmlImageElementGetName self
   = ({# call webkit_dom_html_image_element_get_name #}
        (toHTMLImageElement self))
@@ -46,7 +48,8 @@
       readUTFString
  
 htmlImageElementSetAlign ::
-                         (HTMLImageElementClass self) => self -> String -> IO ()
+                         (HTMLImageElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlImageElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -55,7 +58,8 @@
           valPtr
  
 htmlImageElementGetAlign ::
-                         (HTMLImageElementClass self) => self -> IO String
+                         (HTMLImageElementClass self, GlibString string) =>
+                           self -> IO string
 htmlImageElementGetAlign self
   = ({# call webkit_dom_html_image_element_get_align #}
        (toHTMLImageElement self))
@@ -63,7 +67,8 @@
       readUTFString
  
 htmlImageElementSetAlt ::
-                       (HTMLImageElementClass self) => self -> String -> IO ()
+                       (HTMLImageElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlImageElementSetAlt self val
   = withUTFString val $
       \ valPtr ->
@@ -72,7 +77,8 @@
           valPtr
  
 htmlImageElementGetAlt ::
-                       (HTMLImageElementClass self) => self -> IO String
+                       (HTMLImageElementClass self, GlibString string) =>
+                         self -> IO string
 htmlImageElementGetAlt self
   = ({# call webkit_dom_html_image_element_get_alt #}
        (toHTMLImageElement self))
@@ -80,7 +86,8 @@
       readUTFString
  
 htmlImageElementSetBorder ::
-                          (HTMLImageElementClass self) => self -> String -> IO ()
+                          (HTMLImageElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlImageElementSetBorder self val
   = withUTFString val $
       \ valPtr ->
@@ -89,7 +96,8 @@
           valPtr
  
 htmlImageElementGetBorder ::
-                          (HTMLImageElementClass self) => self -> IO String
+                          (HTMLImageElementClass self, GlibString string) =>
+                            self -> IO string
 htmlImageElementGetBorder self
   = ({# call webkit_dom_html_image_element_get_border #}
        (toHTMLImageElement self))
@@ -97,7 +105,8 @@
       readUTFString
  
 htmlImageElementSetCrossOrigin ::
-                               (HTMLImageElementClass self) => self -> String -> IO ()
+                               (HTMLImageElementClass self, GlibString string) =>
+                                 self -> string -> IO ()
 htmlImageElementSetCrossOrigin self val
   = withUTFString val $
       \ valPtr ->
@@ -106,7 +115,8 @@
           valPtr
  
 htmlImageElementGetCrossOrigin ::
-                               (HTMLImageElementClass self) => self -> IO String
+                               (HTMLImageElementClass self, GlibString string) =>
+                                 self -> IO string
 htmlImageElementGetCrossOrigin self
   = ({# call webkit_dom_html_image_element_get_cross_origin #}
        (toHTMLImageElement self))
@@ -156,7 +166,8 @@
          (toHTMLImageElement self))
  
 htmlImageElementSetLongDesc ::
-                            (HTMLImageElementClass self) => self -> String -> IO ()
+                            (HTMLImageElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlImageElementSetLongDesc self val
   = withUTFString val $
       \ valPtr ->
@@ -165,7 +176,8 @@
           valPtr
  
 htmlImageElementGetLongDesc ::
-                            (HTMLImageElementClass self) => self -> IO String
+                            (HTMLImageElementClass self, GlibString string) =>
+                              self -> IO string
 htmlImageElementGetLongDesc self
   = ({# call webkit_dom_html_image_element_get_long_desc #}
        (toHTMLImageElement self))
@@ -173,7 +185,8 @@
       readUTFString
  
 htmlImageElementSetSrc ::
-                       (HTMLImageElementClass self) => self -> String -> IO ()
+                       (HTMLImageElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlImageElementSetSrc self val
   = withUTFString val $
       \ valPtr ->
@@ -182,7 +195,8 @@
           valPtr
  
 htmlImageElementGetSrc ::
-                       (HTMLImageElementClass self) => self -> IO String
+                       (HTMLImageElementClass self, GlibString string) =>
+                         self -> IO string
 htmlImageElementGetSrc self
   = ({# call webkit_dom_html_image_element_get_src #}
        (toHTMLImageElement self))
@@ -191,7 +205,8 @@
  
 #if WEBKIT_CHECK_VERSION(2,2,2)
 htmlImageElementSetSrcset ::
-                          (HTMLImageElementClass self) => self -> String -> IO ()
+                          (HTMLImageElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlImageElementSetSrcset self val
   = withUTFString val $
       \ valPtr ->
@@ -200,7 +215,8 @@
           valPtr
  
 htmlImageElementGetSrcset ::
-                          (HTMLImageElementClass self) => self -> IO String
+                          (HTMLImageElementClass self, GlibString string) =>
+                            self -> IO string
 htmlImageElementGetSrcset self
   = ({# call webkit_dom_html_image_element_get_srcset #}
        (toHTMLImageElement self))
@@ -209,7 +225,8 @@
 #endif
 
 htmlImageElementSetUseMap ::
-                          (HTMLImageElementClass self) => self -> String -> IO ()
+                          (HTMLImageElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlImageElementSetUseMap self val
   = withUTFString val $
       \ valPtr ->
@@ -218,7 +235,8 @@
           valPtr
  
 htmlImageElementGetUseMap ::
-                          (HTMLImageElementClass self) => self -> IO String
+                          (HTMLImageElementClass self, GlibString string) =>
+                            self -> IO string
 htmlImageElementGetUseMap self
   = ({# call webkit_dom_html_image_element_get_use_map #}
        (toHTMLImageElement self))
@@ -261,7 +279,8 @@
          (toHTMLImageElement self))
  
 htmlImageElementSetLowsrc ::
-                          (HTMLImageElementClass self) => self -> String -> IO ()
+                          (HTMLImageElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlImageElementSetLowsrc self val
   = withUTFString val $
       \ valPtr ->
@@ -270,7 +289,8 @@
           valPtr
  
 htmlImageElementGetLowsrc ::
-                          (HTMLImageElementClass self) => self -> IO String
+                          (HTMLImageElementClass self, GlibString string) =>
+                            self -> IO string
 htmlImageElementGetLowsrc self
   = ({# call webkit_dom_html_image_element_get_lowsrc #}
        (toHTMLImageElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLInputElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLInputElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLInputElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLInputElement.chs
@@ -99,7 +99,8 @@
          (toHTMLInputElement self))
 
 htmlInputElementSetCustomValidity ::
-                                  (HTMLInputElementClass self) => self -> String -> IO ()
+                                  (HTMLInputElementClass self, GlibString string) =>
+                                    self -> string -> IO ()
 htmlInputElementSetCustomValidity self error
   = withUTFString error $
       \ errorPtr ->
@@ -115,8 +116,8 @@
  
 #if WEBKIT_CHECK_VERSION(2,2,2)
 htmlInputElementSetRangeText ::
-                             (HTMLInputElementClass self) =>
-                               self -> String -> Word -> Word -> String -> IO ()
+                             (HTMLInputElementClass self, GlibString string) =>
+                               self -> string -> Word -> Word -> string -> IO ()
 htmlInputElementSetRangeText self replacement start end
   selectionMode
   = propagateGError $
@@ -135,7 +136,8 @@
 #endif
 
 htmlInputElementSetValueForUser ::
-                                (HTMLInputElementClass self) => self -> String -> IO ()
+                                (HTMLInputElementClass self, GlibString string) =>
+                                  self -> string -> IO ()
 htmlInputElementSetValueForUser self value
   = withUTFString value $
       \ valuePtr ->
@@ -144,7 +146,8 @@
           valuePtr
 
 htmlInputElementSetAccept ::
-                          (HTMLInputElementClass self) => self -> String -> IO ()
+                          (HTMLInputElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlInputElementSetAccept self val
   = withUTFString val $
       \ valPtr ->
@@ -153,7 +156,8 @@
           valPtr
 
 htmlInputElementGetAccept ::
-                          (HTMLInputElementClass self) => self -> IO String
+                          (HTMLInputElementClass self, GlibString string) =>
+                            self -> IO string
 htmlInputElementGetAccept self
   = ({# call webkit_dom_html_input_element_get_accept #}
        (toHTMLInputElement self))
@@ -161,7 +165,8 @@
       readUTFString
 
 htmlInputElementSetAlt ::
-                       (HTMLInputElementClass self) => self -> String -> IO ()
+                       (HTMLInputElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlInputElementSetAlt self val
   = withUTFString val $
       \ valPtr ->
@@ -170,7 +175,8 @@
           valPtr
 
 htmlInputElementGetAlt ::
-                       (HTMLInputElementClass self) => self -> IO String
+                       (HTMLInputElementClass self, GlibString string) =>
+                         self -> IO string
 htmlInputElementGetAlt self
   = ({# call webkit_dom_html_input_element_get_alt #}
        (toHTMLInputElement self))
@@ -178,7 +184,8 @@
       readUTFString
 
 htmlInputElementSetAutocomplete ::
-                                (HTMLInputElementClass self) => self -> String -> IO ()
+                                (HTMLInputElementClass self, GlibString string) =>
+                                  self -> string -> IO ()
 htmlInputElementSetAutocomplete self val
   = withUTFString val $
       \ valPtr ->
@@ -187,7 +194,8 @@
           valPtr
 
 htmlInputElementGetAutocomplete ::
-                                (HTMLInputElementClass self) => self -> IO String
+                                (HTMLInputElementClass self, GlibString string) =>
+                                  self -> IO string
 htmlInputElementGetAutocomplete self
   = ({# call webkit_dom_html_input_element_get_autocomplete #}
        (toHTMLInputElement self))
@@ -237,7 +245,8 @@
          (toHTMLInputElement self))
 
 htmlInputElementSetDirName ::
-                           (HTMLInputElementClass self) => self -> String -> IO ()
+                           (HTMLInputElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlInputElementSetDirName self val
   = withUTFString val $
       \ valPtr ->
@@ -246,7 +255,8 @@
           valPtr
 
 htmlInputElementGetDirName ::
-                           (HTMLInputElementClass self) => self -> IO String
+                           (HTMLInputElementClass self, GlibString string) =>
+                             self -> IO string
 htmlInputElementGetDirName self
   = ({# call webkit_dom_html_input_element_get_dir_name #}
        (toHTMLInputElement self))
@@ -292,7 +302,8 @@
          (toHTMLInputElement self))
 
 htmlInputElementSetFormAction ::
-                              (HTMLInputElementClass self) => self -> String -> IO ()
+                              (HTMLInputElementClass self, GlibString string) =>
+                                self -> string -> IO ()
 htmlInputElementSetFormAction self val
   = withUTFString val $
       \ valPtr ->
@@ -301,7 +312,8 @@
           valPtr
 
 htmlInputElementGetFormAction ::
-                              (HTMLInputElementClass self) => self -> IO String
+                              (HTMLInputElementClass self, GlibString string) =>
+                                self -> IO string
 htmlInputElementGetFormAction self
   = ({# call webkit_dom_html_input_element_get_form_action #}
        (toHTMLInputElement self))
@@ -309,7 +321,8 @@
       readUTFString
 
 htmlInputElementSetFormEnctype ::
-                               (HTMLInputElementClass self) => self -> String -> IO ()
+                               (HTMLInputElementClass self, GlibString string) =>
+                                 self -> string -> IO ()
 htmlInputElementSetFormEnctype self val
   = withUTFString val $
       \ valPtr ->
@@ -318,7 +331,8 @@
           valPtr
 
 htmlInputElementGetFormEnctype ::
-                               (HTMLInputElementClass self) => self -> IO String
+                               (HTMLInputElementClass self, GlibString string) =>
+                                 self -> IO string
 htmlInputElementGetFormEnctype self
   = ({# call webkit_dom_html_input_element_get_form_enctype #}
        (toHTMLInputElement self))
@@ -326,7 +340,8 @@
       readUTFString
 
 htmlInputElementSetFormMethod ::
-                              (HTMLInputElementClass self) => self -> String -> IO ()
+                              (HTMLInputElementClass self, GlibString string) =>
+                                self -> string -> IO ()
 htmlInputElementSetFormMethod self val
   = withUTFString val $
       \ valPtr ->
@@ -335,7 +350,8 @@
           valPtr
 
 htmlInputElementGetFormMethod ::
-                              (HTMLInputElementClass self) => self -> IO String
+                              (HTMLInputElementClass self, GlibString string) =>
+                                self -> IO string
 htmlInputElementGetFormMethod self
   = ({# call webkit_dom_html_input_element_get_form_method #}
        (toHTMLInputElement self))
@@ -357,7 +373,8 @@
          (toHTMLInputElement self))
 
 htmlInputElementSetFormTarget ::
-                              (HTMLInputElementClass self) => self -> String -> IO ()
+                              (HTMLInputElementClass self, GlibString string) =>
+                                self -> string -> IO ()
 htmlInputElementSetFormTarget self val
   = withUTFString val $
       \ valPtr ->
@@ -366,7 +383,8 @@
           valPtr
 
 htmlInputElementGetFormTarget ::
-                              (HTMLInputElementClass self) => self -> IO String
+                              (HTMLInputElementClass self, GlibString string) =>
+                                self -> IO string
 htmlInputElementGetFormTarget self
   = ({# call webkit_dom_html_input_element_get_form_target #}
        (toHTMLInputElement self))
@@ -411,7 +429,8 @@
          (toHTMLInputElement self))
 
 htmlInputElementSetMax ::
-                       (HTMLInputElementClass self) => self -> String -> IO ()
+                       (HTMLInputElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlInputElementSetMax self val
   = withUTFString val $
       \ valPtr ->
@@ -420,7 +439,8 @@
           valPtr
 
 htmlInputElementGetMax ::
-                       (HTMLInputElementClass self) => self -> IO String
+                       (HTMLInputElementClass self, GlibString string) =>
+                         self -> IO string
 htmlInputElementGetMax self
   = ({# call webkit_dom_html_input_element_get_max #}
        (toHTMLInputElement self))
@@ -445,7 +465,8 @@
          (toHTMLInputElement self))
 
 htmlInputElementSetMin ::
-                       (HTMLInputElementClass self) => self -> String -> IO ()
+                       (HTMLInputElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlInputElementSetMin self val
   = withUTFString val $
       \ valPtr ->
@@ -454,7 +475,8 @@
           valPtr
 
 htmlInputElementGetMin ::
-                       (HTMLInputElementClass self) => self -> IO String
+                       (HTMLInputElementClass self, GlibString string) =>
+                         self -> IO string
 htmlInputElementGetMin self
   = ({# call webkit_dom_html_input_element_get_min #}
        (toHTMLInputElement self))
@@ -476,7 +498,8 @@
          (toHTMLInputElement self))
 
 htmlInputElementSetName ::
-                        (HTMLInputElementClass self) => self -> String -> IO ()
+                        (HTMLInputElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlInputElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -485,7 +508,8 @@
           valPtr
 
 htmlInputElementGetName ::
-                        (HTMLInputElementClass self) => self -> IO String
+                        (HTMLInputElementClass self, GlibString string) =>
+                          self -> IO string
 htmlInputElementGetName self
   = ({# call webkit_dom_html_input_element_get_name #}
        (toHTMLInputElement self))
@@ -493,7 +517,8 @@
       readUTFString
 
 htmlInputElementSetPattern ::
-                           (HTMLInputElementClass self) => self -> String -> IO ()
+                           (HTMLInputElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlInputElementSetPattern self val
   = withUTFString val $
       \ valPtr ->
@@ -502,7 +527,8 @@
           valPtr
 
 htmlInputElementGetPattern ::
-                           (HTMLInputElementClass self) => self -> IO String
+                           (HTMLInputElementClass self, GlibString string) =>
+                             self -> IO string
 htmlInputElementGetPattern self
   = ({# call webkit_dom_html_input_element_get_pattern #}
        (toHTMLInputElement self))
@@ -510,7 +536,8 @@
       readUTFString
 
 htmlInputElementSetPlaceholder ::
-                               (HTMLInputElementClass self) => self -> String -> IO ()
+                               (HTMLInputElementClass self, GlibString string) =>
+                                 self -> string -> IO ()
 htmlInputElementSetPlaceholder self val
   = withUTFString val $
       \ valPtr ->
@@ -519,7 +546,8 @@
           valPtr
 
 htmlInputElementGetPlaceholder ::
-                               (HTMLInputElementClass self) => self -> IO String
+                               (HTMLInputElementClass self, GlibString string) =>
+                                 self -> IO string
 htmlInputElementGetPlaceholder self
   = ({# call webkit_dom_html_input_element_get_placeholder #}
        (toHTMLInputElement self))
@@ -570,7 +598,8 @@
          (toHTMLInputElement self))
 
 htmlInputElementSetSrc ::
-                       (HTMLInputElementClass self) => self -> String -> IO ()
+                       (HTMLInputElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlInputElementSetSrc self val
   = withUTFString val $
       \ valPtr ->
@@ -579,7 +608,8 @@
           valPtr
 
 htmlInputElementGetSrc ::
-                       (HTMLInputElementClass self) => self -> IO String
+                       (HTMLInputElementClass self, GlibString string) =>
+                         self -> IO string
 htmlInputElementGetSrc self
   = ({# call webkit_dom_html_input_element_get_src #}
        (toHTMLInputElement self))
@@ -587,7 +617,8 @@
       readUTFString
 
 htmlInputElementSetStep ::
-                        (HTMLInputElementClass self) => self -> String -> IO ()
+                        (HTMLInputElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlInputElementSetStep self val
   = withUTFString val $
       \ valPtr ->
@@ -596,7 +627,8 @@
           valPtr
 
 htmlInputElementGetStep ::
-                        (HTMLInputElementClass self) => self -> IO String
+                        (HTMLInputElementClass self, GlibString string) =>
+                          self -> IO string
 htmlInputElementGetStep self
   = ({# call webkit_dom_html_input_element_get_step #}
        (toHTMLInputElement self))
@@ -604,7 +636,8 @@
       readUTFString
 
 htmlInputElementSetDefaultValue ::
-                                (HTMLInputElementClass self) => self -> String -> IO ()
+                                (HTMLInputElementClass self, GlibString string) =>
+                                  self -> string -> IO ()
 htmlInputElementSetDefaultValue self val
   = withUTFString val $
       \ valPtr ->
@@ -613,7 +646,8 @@
           valPtr
 
 htmlInputElementGetDefaultValue ::
-                                (HTMLInputElementClass self) => self -> IO String
+                                (HTMLInputElementClass self, GlibString string) =>
+                                  self -> IO string
 htmlInputElementGetDefaultValue self
   = ({# call webkit_dom_html_input_element_get_default_value #}
        (toHTMLInputElement self))
@@ -621,7 +655,8 @@
       readUTFString
 
 htmlInputElementSetValue ::
-                         (HTMLInputElementClass self) => self -> String -> IO ()
+                         (HTMLInputElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlInputElementSetValue self val
   = withUTFString val $
       \ valPtr ->
@@ -630,7 +665,8 @@
           valPtr
 
 htmlInputElementGetValue ::
-                         (HTMLInputElementClass self) => self -> IO String
+                         (HTMLInputElementClass self, GlibString string) =>
+                           self -> IO string
 htmlInputElementGetValue self
   = ({# call webkit_dom_html_input_element_get_value #}
        (toHTMLInputElement self))
@@ -685,7 +721,8 @@
          (toHTMLInputElement self))
 
 htmlInputElementGetValidationMessage ::
-                                     (HTMLInputElementClass self) => self -> IO String
+                                     (HTMLInputElementClass self, GlibString string) =>
+                                       self -> IO string
 htmlInputElementGetValidationMessage self
   = ({# call webkit_dom_html_input_element_get_validation_message #}
        (toHTMLInputElement self))
@@ -700,7 +737,8 @@
          (toHTMLInputElement self))
 
 htmlInputElementSetAlign ::
-                         (HTMLInputElementClass self) => self -> String -> IO ()
+                         (HTMLInputElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlInputElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -709,7 +747,8 @@
           valPtr
 
 htmlInputElementGetAlign ::
-                         (HTMLInputElementClass self) => self -> IO String
+                         (HTMLInputElementClass self, GlibString string) =>
+                           self -> IO string
 htmlInputElementGetAlign self
   = ({# call webkit_dom_html_input_element_get_align #}
        (toHTMLInputElement self))
@@ -731,7 +770,8 @@
          (toHTMLInputElement self))
 
 htmlInputElementSetUseMap ::
-                          (HTMLInputElementClass self) => self -> String -> IO ()
+                          (HTMLInputElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlInputElementSetUseMap self val
   = withUTFString val $
       \ valPtr ->
@@ -740,7 +780,8 @@
           valPtr
 
 htmlInputElementGetUseMap ::
-                          (HTMLInputElementClass self) => self -> IO String
+                          (HTMLInputElementClass self, GlibString string) =>
+                            self -> IO string
 htmlInputElementGetUseMap self
   = ({# call webkit_dom_html_input_element_get_use_map #}
        (toHTMLInputElement self))
@@ -797,7 +838,8 @@
 
 #if WEBKIT_CHECK_VERSION(1,10,0)
 htmlInputElementSetCapture ::
-                           (HTMLInputElementClass self) => self -> String -> IO ()
+                           (HTMLInputElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlInputElementSetCapture self val
   = withUTFString val $
       \ valPtr ->
@@ -806,7 +848,8 @@
           valPtr
 
 htmlInputElementGetCapture ::
-                           (HTMLInputElementClass self) => self -> IO String
+                           (HTMLInputElementClass self, GlibString string) =>
+                             self -> IO string
 htmlInputElementGetCapture self
   = ({# call webkit_dom_html_input_element_get_capture #}
        (toHTMLInputElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLKeygenElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLKeygenElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLKeygenElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLKeygenElement.chs
@@ -26,7 +26,8 @@
          (toHTMLKeygenElement self))
  
 htmlKeygenElementSetCustomValidity ::
-                                   (HTMLKeygenElementClass self) => self -> String -> IO ()
+                                   (HTMLKeygenElementClass self, GlibString string) =>
+                                     self -> string -> IO ()
 htmlKeygenElementSetCustomValidity self error
   = withUTFString error $
       \ errorPtr ->
@@ -49,7 +50,8 @@
          (toHTMLKeygenElement self))
  
 htmlKeygenElementSetChallenge ::
-                              (HTMLKeygenElementClass self) => self -> String -> IO ()
+                              (HTMLKeygenElementClass self, GlibString string) =>
+                                self -> string -> IO ()
 htmlKeygenElementSetChallenge self val
   = withUTFString val $
       \ valPtr ->
@@ -58,7 +60,8 @@
           valPtr
  
 htmlKeygenElementGetChallenge ::
-                              (HTMLKeygenElementClass self) => self -> IO String
+                              (HTMLKeygenElementClass self, GlibString string) =>
+                                self -> IO string
 htmlKeygenElementGetChallenge self
   = ({# call webkit_dom_html_keygen_element_get_challenge #}
        (toHTMLKeygenElement self))
@@ -87,7 +90,8 @@
          (toHTMLKeygenElement self))
  
 htmlKeygenElementSetKeytype ::
-                            (HTMLKeygenElementClass self) => self -> String -> IO ()
+                            (HTMLKeygenElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlKeygenElementSetKeytype self val
   = withUTFString val $
       \ valPtr ->
@@ -96,7 +100,8 @@
           valPtr
  
 htmlKeygenElementGetKeytype ::
-                            (HTMLKeygenElementClass self) => self -> IO String
+                            (HTMLKeygenElementClass self, GlibString string) =>
+                              self -> IO string
 htmlKeygenElementGetKeytype self
   = ({# call webkit_dom_html_keygen_element_get_keytype #}
        (toHTMLKeygenElement self))
@@ -104,7 +109,8 @@
       readUTFString
  
 htmlKeygenElementSetName ::
-                         (HTMLKeygenElementClass self) => self -> String -> IO ()
+                         (HTMLKeygenElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlKeygenElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -113,7 +119,8 @@
           valPtr
  
 htmlKeygenElementGetName ::
-                         (HTMLKeygenElementClass self) => self -> IO String
+                         (HTMLKeygenElementClass self, GlibString string) =>
+                           self -> IO string
 htmlKeygenElementGetName self
   = ({# call webkit_dom_html_keygen_element_get_name #}
        (toHTMLKeygenElement self))
@@ -135,7 +142,8 @@
          (toHTMLKeygenElement self))
  
 htmlKeygenElementGetValidationMessage ::
-                                      (HTMLKeygenElementClass self) => self -> IO String
+                                      (HTMLKeygenElementClass self, GlibString string) =>
+                                        self -> IO string
 htmlKeygenElementGetValidationMessage self
   = ({# call webkit_dom_html_keygen_element_get_validation_message #}
        (toHTMLKeygenElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLLabelElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLLabelElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLLabelElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLLabelElement.chs
@@ -19,7 +19,8 @@
          (toHTMLLabelElement self))
  
 htmlLabelElementSetHtmlFor ::
-                           (HTMLLabelElementClass self) => self -> String -> IO ()
+                           (HTMLLabelElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlLabelElementSetHtmlFor self val
   = withUTFString val $
       \ valPtr ->
@@ -28,7 +29,8 @@
           valPtr
  
 htmlLabelElementGetHtmlFor ::
-                           (HTMLLabelElementClass self) => self -> IO String
+                           (HTMLLabelElementClass self, GlibString string) =>
+                             self -> IO string
 htmlLabelElementGetHtmlFor self
   = ({# call webkit_dom_html_label_element_get_html_for #}
        (toHTMLLabelElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLLegendElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLLegendElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLLegendElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLLegendElement.chs
@@ -19,7 +19,8 @@
          (toHTMLLegendElement self))
  
 htmlLegendElementSetAlign ::
-                          (HTMLLegendElementClass self) => self -> String -> IO ()
+                          (HTMLLegendElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlLegendElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -28,7 +29,8 @@
           valPtr
  
 htmlLegendElementGetAlign ::
-                          (HTMLLegendElementClass self) => self -> IO String
+                          (HTMLLegendElementClass self, GlibString string) =>
+                            self -> IO string
 htmlLegendElementGetAlign self
   = ({# call webkit_dom_html_legend_element_get_align #}
        (toHTMLLegendElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLLinkElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLLinkElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLLinkElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLLinkElement.chs
@@ -32,7 +32,8 @@
          (toHTMLLinkElement self))
  
 htmlLinkElementSetCharset ::
-                          (HTMLLinkElementClass self) => self -> String -> IO ()
+                          (HTMLLinkElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlLinkElementSetCharset self val
   = withUTFString val $
       \ valPtr ->
@@ -41,7 +42,7 @@
           valPtr
  
 htmlLinkElementGetCharset ::
-                          (HTMLLinkElementClass self) => self -> IO String
+                          (HTMLLinkElementClass self, GlibString string) => self -> IO string
 htmlLinkElementGetCharset self
   = ({# call webkit_dom_html_link_element_get_charset #}
        (toHTMLLinkElement self))
@@ -49,7 +50,8 @@
       readUTFString
  
 htmlLinkElementSetHref ::
-                       (HTMLLinkElementClass self) => self -> String -> IO ()
+                       (HTMLLinkElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlLinkElementSetHref self val
   = withUTFString val $
       \ valPtr ->
@@ -58,7 +60,7 @@
           valPtr
  
 htmlLinkElementGetHref ::
-                       (HTMLLinkElementClass self) => self -> IO String
+                       (HTMLLinkElementClass self, GlibString string) => self -> IO string
 htmlLinkElementGetHref self
   = ({# call webkit_dom_html_link_element_get_href #}
        (toHTMLLinkElement self))
@@ -66,7 +68,8 @@
       readUTFString
  
 htmlLinkElementSetHreflang ::
-                           (HTMLLinkElementClass self) => self -> String -> IO ()
+                           (HTMLLinkElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlLinkElementSetHreflang self val
   = withUTFString val $
       \ valPtr ->
@@ -75,7 +78,7 @@
           valPtr
  
 htmlLinkElementGetHreflang ::
-                           (HTMLLinkElementClass self) => self -> IO String
+                           (HTMLLinkElementClass self, GlibString string) => self -> IO string
 htmlLinkElementGetHreflang self
   = ({# call webkit_dom_html_link_element_get_hreflang #}
        (toHTMLLinkElement self))
@@ -83,7 +86,8 @@
       readUTFString
  
 htmlLinkElementSetMedia ::
-                        (HTMLLinkElementClass self) => self -> String -> IO ()
+                        (HTMLLinkElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlLinkElementSetMedia self val
   = withUTFString val $
       \ valPtr ->
@@ -92,7 +96,7 @@
           valPtr
  
 htmlLinkElementGetMedia ::
-                        (HTMLLinkElementClass self) => self -> IO String
+                        (HTMLLinkElementClass self, GlibString string) => self -> IO string
 htmlLinkElementGetMedia self
   = ({# call webkit_dom_html_link_element_get_media #}
        (toHTMLLinkElement self))
@@ -100,7 +104,8 @@
       readUTFString
  
 htmlLinkElementSetRel ::
-                      (HTMLLinkElementClass self) => self -> String -> IO ()
+                      (HTMLLinkElementClass self, GlibString string) =>
+                        self -> string -> IO ()
 htmlLinkElementSetRel self val
   = withUTFString val $
       \ valPtr ->
@@ -109,7 +114,7 @@
           valPtr
  
 htmlLinkElementGetRel ::
-                      (HTMLLinkElementClass self) => self -> IO String
+                      (HTMLLinkElementClass self, GlibString string) => self -> IO string
 htmlLinkElementGetRel self
   = ({# call webkit_dom_html_link_element_get_rel #}
        (toHTMLLinkElement self))
@@ -117,7 +122,8 @@
       readUTFString
  
 htmlLinkElementSetRev ::
-                      (HTMLLinkElementClass self) => self -> String -> IO ()
+                      (HTMLLinkElementClass self, GlibString string) =>
+                        self -> string -> IO ()
 htmlLinkElementSetRev self val
   = withUTFString val $
       \ valPtr ->
@@ -126,7 +132,7 @@
           valPtr
  
 htmlLinkElementGetRev ::
-                      (HTMLLinkElementClass self) => self -> IO String
+                      (HTMLLinkElementClass self, GlibString string) => self -> IO string
 htmlLinkElementGetRev self
   = ({# call webkit_dom_html_link_element_get_rev #}
        (toHTMLLinkElement self))
@@ -134,7 +140,8 @@
       readUTFString
  
 htmlLinkElementSetTarget ::
-                         (HTMLLinkElementClass self) => self -> String -> IO ()
+                         (HTMLLinkElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlLinkElementSetTarget self val
   = withUTFString val $
       \ valPtr ->
@@ -143,7 +150,7 @@
           valPtr
  
 htmlLinkElementGetTarget ::
-                         (HTMLLinkElementClass self) => self -> IO String
+                         (HTMLLinkElementClass self, GlibString string) => self -> IO string
 htmlLinkElementGetTarget self
   = ({# call webkit_dom_html_link_element_get_target #}
        (toHTMLLinkElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLMapElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLMapElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLMapElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLMapElement.chs
@@ -18,7 +18,8 @@
          (toHTMLMapElement self))
  
 htmlMapElementSetName ::
-                      (HTMLMapElementClass self) => self -> String -> IO ()
+                      (HTMLMapElementClass self, GlibString string) =>
+                        self -> string -> IO ()
 htmlMapElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -27,7 +28,7 @@
           valPtr
  
 htmlMapElementGetName ::
-                      (HTMLMapElementClass self) => self -> IO String
+                      (HTMLMapElementClass self, GlibString string) => self -> IO string
 htmlMapElementGetName self
   = ({# call webkit_dom_html_map_element_get_name #}
        (toHTMLMapElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLMarqueeElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLMarqueeElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLMarqueeElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLMarqueeElement.chs
@@ -36,7 +36,8 @@
       (toHTMLMarqueeElement self)
  
 htmlMarqueeElementSetBehavior ::
-                              (HTMLMarqueeElementClass self) => self -> String -> IO ()
+                              (HTMLMarqueeElementClass self, GlibString string) =>
+                                self -> string -> IO ()
 htmlMarqueeElementSetBehavior self val
   = withUTFString val $
       \ valPtr ->
@@ -45,7 +46,8 @@
           valPtr
  
 htmlMarqueeElementGetBehavior ::
-                              (HTMLMarqueeElementClass self) => self -> IO String
+                              (HTMLMarqueeElementClass self, GlibString string) =>
+                                self -> IO string
 htmlMarqueeElementGetBehavior self
   = ({# call webkit_dom_html_marquee_element_get_behavior #}
        (toHTMLMarqueeElement self))
@@ -53,7 +55,8 @@
       readUTFString
  
 htmlMarqueeElementSetBgColor ::
-                             (HTMLMarqueeElementClass self) => self -> String -> IO ()
+                             (HTMLMarqueeElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlMarqueeElementSetBgColor self val
   = withUTFString val $
       \ valPtr ->
@@ -62,7 +65,8 @@
           valPtr
  
 htmlMarqueeElementGetBgColor ::
-                             (HTMLMarqueeElementClass self) => self -> IO String
+                             (HTMLMarqueeElementClass self, GlibString string) =>
+                               self -> IO string
 htmlMarqueeElementGetBgColor self
   = ({# call webkit_dom_html_marquee_element_get_bg_color #}
        (toHTMLMarqueeElement self))
@@ -70,7 +74,8 @@
       readUTFString
  
 htmlMarqueeElementSetDirection ::
-                               (HTMLMarqueeElementClass self) => self -> String -> IO ()
+                               (HTMLMarqueeElementClass self, GlibString string) =>
+                                 self -> string -> IO ()
 htmlMarqueeElementSetDirection self val
   = withUTFString val $
       \ valPtr ->
@@ -79,7 +84,8 @@
           valPtr
  
 htmlMarqueeElementGetDirection ::
-                               (HTMLMarqueeElementClass self) => self -> IO String
+                               (HTMLMarqueeElementClass self, GlibString string) =>
+                                 self -> IO string
 htmlMarqueeElementGetDirection self
   = ({# call webkit_dom_html_marquee_element_get_direction #}
        (toHTMLMarqueeElement self))
@@ -87,7 +93,8 @@
       readUTFString
  
 htmlMarqueeElementSetHeight ::
-                            (HTMLMarqueeElementClass self) => self -> String -> IO ()
+                            (HTMLMarqueeElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlMarqueeElementSetHeight self val
   = withUTFString val $
       \ valPtr ->
@@ -96,7 +103,8 @@
           valPtr
  
 htmlMarqueeElementGetHeight ::
-                            (HTMLMarqueeElementClass self) => self -> IO String
+                            (HTMLMarqueeElementClass self, GlibString string) =>
+                              self -> IO string
 htmlMarqueeElementGetHeight self
   = ({# call webkit_dom_html_marquee_element_get_height #}
        (toHTMLMarqueeElement self))
@@ -197,7 +205,8 @@
          (toHTMLMarqueeElement self))
  
 htmlMarqueeElementSetWidth ::
-                           (HTMLMarqueeElementClass self) => self -> String -> IO ()
+                           (HTMLMarqueeElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlMarqueeElementSetWidth self val
   = withUTFString val $
       \ valPtr ->
@@ -206,7 +215,8 @@
           valPtr
  
 htmlMarqueeElementGetWidth ::
-                           (HTMLMarqueeElementClass self) => self -> IO String
+                           (HTMLMarqueeElementClass self, GlibString string) =>
+                             self -> IO string
 htmlMarqueeElementGetWidth self
   = ({# call webkit_dom_html_marquee_element_get_width #}
        (toHTMLMarqueeElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLMediaElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLMediaElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLMediaElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLMediaElement.chs
@@ -58,7 +58,8 @@
 #endif
 
 htmlMediaElementCanPlayType ::
-                            (HTMLMediaElementClass self) => self -> String -> IO String
+                            (HTMLMediaElementClass self, GlibString string) =>
+                              self -> string -> IO string
 htmlMediaElementCanPlayType self type'
   = (withUTFString type' $
        \ typePtr ->
@@ -97,7 +98,8 @@
          (toHTMLMediaElement self))
 
 htmlMediaElementSetSrc ::
-                       (HTMLMediaElementClass self) => self -> String -> IO ()
+                       (HTMLMediaElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlMediaElementSetSrc self val
   = withUTFString val $
       \ valPtr ->
@@ -106,7 +108,8 @@
           valPtr
 
 htmlMediaElementGetSrc ::
-                       (HTMLMediaElementClass self) => self -> IO String
+                       (HTMLMediaElementClass self, GlibString string) =>
+                         self -> IO string
 htmlMediaElementGetSrc self
   = ({# call webkit_dom_html_media_element_get_src #}
        (toHTMLMediaElement self))
@@ -114,7 +117,8 @@
       readUTFString
 
 htmlMediaElementGetCurrentSrc ::
-                              (HTMLMediaElementClass self) => self -> IO String
+                              (HTMLMediaElementClass self, GlibString string) =>
+                                self -> IO string
 htmlMediaElementGetCurrentSrc self
   = ({# call webkit_dom_html_media_element_get_current_src #}
        (toHTMLMediaElement self))
@@ -129,7 +133,8 @@
          (toHTMLMediaElement self))
 
 htmlMediaElementSetPreload ::
-                           (HTMLMediaElementClass self) => self -> String -> IO ()
+                           (HTMLMediaElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlMediaElementSetPreload self val
   = withUTFString val $
       \ valPtr ->
@@ -138,7 +143,8 @@
           valPtr
 
 htmlMediaElementGetPreload ::
-                           (HTMLMediaElementClass self) => self -> IO String
+                           (HTMLMediaElementClass self, GlibString string) =>
+                             self -> IO string
 htmlMediaElementGetPreload self
   = ({# call webkit_dom_html_media_element_get_preload #}
        (toHTMLMediaElement self))
@@ -417,7 +423,8 @@
 #endif
 
 htmlMediaElementSetMediaGroup ::
-                              (HTMLMediaElementClass self) => self -> String -> IO ()
+                              (HTMLMediaElementClass self, GlibString string) =>
+                                self -> string -> IO ()
 htmlMediaElementSetMediaGroup self val
   = withUTFString val $
       \ valPtr ->
@@ -426,7 +433,8 @@
           valPtr
 
 htmlMediaElementGetMediaGroup ::
-                              (HTMLMediaElementClass self) => self -> IO String
+                              (HTMLMediaElementClass self, GlibString string) =>
+                                self -> IO string
 htmlMediaElementGetMediaGroup self
   = ({# call webkit_dom_html_media_element_get_media_group #}
        (toHTMLMediaElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLMetaElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLMetaElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLMetaElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLMetaElement.chs
@@ -14,7 +14,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlMetaElementSetContent ::
-                          (HTMLMetaElementClass self) => self -> String -> IO ()
+                          (HTMLMetaElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlMetaElementSetContent self val
   = withUTFString val $
       \ valPtr ->
@@ -23,7 +24,7 @@
           valPtr
  
 htmlMetaElementGetContent ::
-                          (HTMLMetaElementClass self) => self -> IO String
+                          (HTMLMetaElementClass self, GlibString string) => self -> IO string
 htmlMetaElementGetContent self
   = ({# call webkit_dom_html_meta_element_get_content #}
        (toHTMLMetaElement self))
@@ -31,7 +32,8 @@
       readUTFString
  
 htmlMetaElementSetHttpEquiv ::
-                            (HTMLMetaElementClass self) => self -> String -> IO ()
+                            (HTMLMetaElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlMetaElementSetHttpEquiv self val
   = withUTFString val $
       \ valPtr ->
@@ -40,7 +42,7 @@
           valPtr
  
 htmlMetaElementGetHttpEquiv ::
-                            (HTMLMetaElementClass self) => self -> IO String
+                            (HTMLMetaElementClass self, GlibString string) => self -> IO string
 htmlMetaElementGetHttpEquiv self
   = ({# call webkit_dom_html_meta_element_get_http_equiv #}
        (toHTMLMetaElement self))
@@ -48,7 +50,8 @@
       readUTFString
  
 htmlMetaElementSetName ::
-                       (HTMLMetaElementClass self) => self -> String -> IO ()
+                       (HTMLMetaElementClass self, GlibString string) =>
+                         self -> string -> IO ()
 htmlMetaElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -57,7 +60,7 @@
           valPtr
  
 htmlMetaElementGetName ::
-                       (HTMLMetaElementClass self) => self -> IO String
+                       (HTMLMetaElementClass self, GlibString string) => self -> IO string
 htmlMetaElementGetName self
   = ({# call webkit_dom_html_meta_element_get_name #}
        (toHTMLMetaElement self))
@@ -65,7 +68,8 @@
       readUTFString
  
 htmlMetaElementSetScheme ::
-                         (HTMLMetaElementClass self) => self -> String -> IO ()
+                         (HTMLMetaElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlMetaElementSetScheme self val
   = withUTFString val $
       \ valPtr ->
@@ -74,7 +78,7 @@
           valPtr
  
 htmlMetaElementGetScheme ::
-                         (HTMLMetaElementClass self) => self -> IO String
+                         (HTMLMetaElementClass self, GlibString string) => self -> IO string
 htmlMetaElementGetScheme self
   = ({# call webkit_dom_html_meta_element_get_scheme #}
        (toHTMLMetaElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLModElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLModElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLModElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLModElement.chs
@@ -12,7 +12,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlModElementSetCite ::
-                      (HTMLModElementClass self) => self -> String -> IO ()
+                      (HTMLModElementClass self, GlibString string) =>
+                        self -> string -> IO ()
 htmlModElementSetCite self val
   = withUTFString val $
       \ valPtr ->
@@ -21,7 +22,7 @@
           valPtr
  
 htmlModElementGetCite ::
-                      (HTMLModElementClass self) => self -> IO String
+                      (HTMLModElementClass self, GlibString string) => self -> IO string
 htmlModElementGetCite self
   = ({# call webkit_dom_html_mod_element_get_cite #}
        (toHTMLModElement self))
@@ -29,7 +30,8 @@
       readUTFString
  
 htmlModElementSetDateTime ::
-                          (HTMLModElementClass self) => self -> String -> IO ()
+                          (HTMLModElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlModElementSetDateTime self val
   = withUTFString val $
       \ valPtr ->
@@ -38,7 +40,7 @@
           valPtr
  
 htmlModElementGetDateTime ::
-                          (HTMLModElementClass self) => self -> IO String
+                          (HTMLModElementClass self, GlibString string) => self -> IO string
 htmlModElementGetDateTime self
   = ({# call webkit_dom_html_mod_element_get_date_time #}
        (toHTMLModElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLObjectElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLObjectElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLObjectElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLObjectElement.chs
@@ -37,7 +37,8 @@
          (toHTMLObjectElement self))
  
 htmlObjectElementSetCustomValidity ::
-                                   (HTMLObjectElementClass self) => self -> String -> IO ()
+                                   (HTMLObjectElementClass self, GlibString string) =>
+                                     self -> string -> IO ()
 htmlObjectElementSetCustomValidity self error
   = withUTFString error $
       \ errorPtr ->
@@ -53,7 +54,8 @@
          (toHTMLObjectElement self))
  
 htmlObjectElementSetCode ::
-                         (HTMLObjectElementClass self) => self -> String -> IO ()
+                         (HTMLObjectElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlObjectElementSetCode self val
   = withUTFString val $
       \ valPtr ->
@@ -62,7 +64,8 @@
           valPtr
  
 htmlObjectElementGetCode ::
-                         (HTMLObjectElementClass self) => self -> IO String
+                         (HTMLObjectElementClass self, GlibString string) =>
+                           self -> IO string
 htmlObjectElementGetCode self
   = ({# call webkit_dom_html_object_element_get_code #}
        (toHTMLObjectElement self))
@@ -70,7 +73,8 @@
       readUTFString
  
 htmlObjectElementSetAlign ::
-                          (HTMLObjectElementClass self) => self -> String -> IO ()
+                          (HTMLObjectElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlObjectElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -79,7 +83,8 @@
           valPtr
  
 htmlObjectElementGetAlign ::
-                          (HTMLObjectElementClass self) => self -> IO String
+                          (HTMLObjectElementClass self, GlibString string) =>
+                            self -> IO string
 htmlObjectElementGetAlign self
   = ({# call webkit_dom_html_object_element_get_align #}
        (toHTMLObjectElement self))
@@ -87,7 +92,8 @@
       readUTFString
  
 htmlObjectElementSetArchive ::
-                            (HTMLObjectElementClass self) => self -> String -> IO ()
+                            (HTMLObjectElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlObjectElementSetArchive self val
   = withUTFString val $
       \ valPtr ->
@@ -96,7 +102,8 @@
           valPtr
  
 htmlObjectElementGetArchive ::
-                            (HTMLObjectElementClass self) => self -> IO String
+                            (HTMLObjectElementClass self, GlibString string) =>
+                              self -> IO string
 htmlObjectElementGetArchive self
   = ({# call webkit_dom_html_object_element_get_archive #}
        (toHTMLObjectElement self))
@@ -104,7 +111,8 @@
       readUTFString
  
 htmlObjectElementSetBorder ::
-                           (HTMLObjectElementClass self) => self -> String -> IO ()
+                           (HTMLObjectElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlObjectElementSetBorder self val
   = withUTFString val $
       \ valPtr ->
@@ -113,7 +121,8 @@
           valPtr
  
 htmlObjectElementGetBorder ::
-                           (HTMLObjectElementClass self) => self -> IO String
+                           (HTMLObjectElementClass self, GlibString string) =>
+                             self -> IO string
 htmlObjectElementGetBorder self
   = ({# call webkit_dom_html_object_element_get_border #}
        (toHTMLObjectElement self))
@@ -121,7 +130,8 @@
       readUTFString
  
 htmlObjectElementSetCodeBase ::
-                             (HTMLObjectElementClass self) => self -> String -> IO ()
+                             (HTMLObjectElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlObjectElementSetCodeBase self val
   = withUTFString val $
       \ valPtr ->
@@ -130,7 +140,8 @@
           valPtr
  
 htmlObjectElementGetCodeBase ::
-                             (HTMLObjectElementClass self) => self -> IO String
+                             (HTMLObjectElementClass self, GlibString string) =>
+                               self -> IO string
 htmlObjectElementGetCodeBase self
   = ({# call webkit_dom_html_object_element_get_code_base #}
        (toHTMLObjectElement self))
@@ -138,7 +149,8 @@
       readUTFString
  
 htmlObjectElementSetCodeType ::
-                             (HTMLObjectElementClass self) => self -> String -> IO ()
+                             (HTMLObjectElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlObjectElementSetCodeType self val
   = withUTFString val $
       \ valPtr ->
@@ -147,7 +159,8 @@
           valPtr
  
 htmlObjectElementGetCodeType ::
-                             (HTMLObjectElementClass self) => self -> IO String
+                             (HTMLObjectElementClass self, GlibString string) =>
+                               self -> IO string
 htmlObjectElementGetCodeType self
   = ({# call webkit_dom_html_object_element_get_code_type #}
        (toHTMLObjectElement self))
@@ -155,7 +168,8 @@
       readUTFString
  
 htmlObjectElementSetData ::
-                         (HTMLObjectElementClass self) => self -> String -> IO ()
+                         (HTMLObjectElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlObjectElementSetData self val
   = withUTFString val $
       \ valPtr ->
@@ -164,7 +178,8 @@
           valPtr
  
 htmlObjectElementGetData ::
-                         (HTMLObjectElementClass self) => self -> IO String
+                         (HTMLObjectElementClass self, GlibString string) =>
+                           self -> IO string
 htmlObjectElementGetData self
   = ({# call webkit_dom_html_object_element_get_data #}
        (toHTMLObjectElement self))
@@ -186,7 +201,8 @@
          (toHTMLObjectElement self))
  
 htmlObjectElementSetHeight ::
-                           (HTMLObjectElementClass self) => self -> String -> IO ()
+                           (HTMLObjectElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlObjectElementSetHeight self val
   = withUTFString val $
       \ valPtr ->
@@ -195,7 +211,8 @@
           valPtr
  
 htmlObjectElementGetHeight ::
-                           (HTMLObjectElementClass self) => self -> IO String
+                           (HTMLObjectElementClass self, GlibString string) =>
+                             self -> IO string
 htmlObjectElementGetHeight self
   = ({# call webkit_dom_html_object_element_get_height #}
        (toHTMLObjectElement self))
@@ -217,7 +234,8 @@
          (toHTMLObjectElement self))
  
 htmlObjectElementSetName ::
-                         (HTMLObjectElementClass self) => self -> String -> IO ()
+                         (HTMLObjectElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlObjectElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -226,7 +244,8 @@
           valPtr
  
 htmlObjectElementGetName ::
-                         (HTMLObjectElementClass self) => self -> IO String
+                         (HTMLObjectElementClass self, GlibString string) =>
+                           self -> IO string
 htmlObjectElementGetName self
   = ({# call webkit_dom_html_object_element_get_name #}
        (toHTMLObjectElement self))
@@ -234,7 +253,8 @@
       readUTFString
  
 htmlObjectElementSetStandby ::
-                            (HTMLObjectElementClass self) => self -> String -> IO ()
+                            (HTMLObjectElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlObjectElementSetStandby self val
   = withUTFString val $
       \ valPtr ->
@@ -243,7 +263,8 @@
           valPtr
  
 htmlObjectElementGetStandby ::
-                            (HTMLObjectElementClass self) => self -> IO String
+                            (HTMLObjectElementClass self, GlibString string) =>
+                              self -> IO string
 htmlObjectElementGetStandby self
   = ({# call webkit_dom_html_object_element_get_standby #}
        (toHTMLObjectElement self))
@@ -251,7 +272,8 @@
       readUTFString
  
 htmlObjectElementSetUseMap ::
-                           (HTMLObjectElementClass self) => self -> String -> IO ()
+                           (HTMLObjectElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlObjectElementSetUseMap self val
   = withUTFString val $
       \ valPtr ->
@@ -260,7 +282,8 @@
           valPtr
  
 htmlObjectElementGetUseMap ::
-                           (HTMLObjectElementClass self) => self -> IO String
+                           (HTMLObjectElementClass self, GlibString string) =>
+                             self -> IO string
 htmlObjectElementGetUseMap self
   = ({# call webkit_dom_html_object_element_get_use_map #}
        (toHTMLObjectElement self))
@@ -282,7 +305,8 @@
          (toHTMLObjectElement self))
  
 htmlObjectElementSetWidth ::
-                          (HTMLObjectElementClass self) => self -> String -> IO ()
+                          (HTMLObjectElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlObjectElementSetWidth self val
   = withUTFString val $
       \ valPtr ->
@@ -291,7 +315,8 @@
           valPtr
  
 htmlObjectElementGetWidth ::
-                          (HTMLObjectElementClass self) => self -> IO String
+                          (HTMLObjectElementClass self, GlibString string) =>
+                            self -> IO string
 htmlObjectElementGetWidth self
   = ({# call webkit_dom_html_object_element_get_width #}
        (toHTMLObjectElement self))
@@ -313,7 +338,8 @@
          (toHTMLObjectElement self))
  
 htmlObjectElementGetValidationMessage ::
-                                      (HTMLObjectElementClass self) => self -> IO String
+                                      (HTMLObjectElementClass self, GlibString string) =>
+                                        self -> IO string
 htmlObjectElementGetValidationMessage self
   = ({# call webkit_dom_html_object_element_get_validation_message #}
        (toHTMLObjectElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLOptGroupElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLOptGroupElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLOptGroupElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLOptGroupElement.chs
@@ -27,7 +27,8 @@
          (toHTMLOptGroupElement self))
  
 htmlOptGroupElementSetLabel ::
-                            (HTMLOptGroupElementClass self) => self -> String -> IO ()
+                            (HTMLOptGroupElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlOptGroupElementSetLabel self val
   = withUTFString val $
       \ valPtr ->
@@ -36,7 +37,8 @@
           valPtr
  
 htmlOptGroupElementGetLabel ::
-                            (HTMLOptGroupElementClass self) => self -> IO String
+                            (HTMLOptGroupElementClass self, GlibString string) =>
+                              self -> IO string
 htmlOptGroupElementGetLabel self
   = ({# call webkit_dom_html_opt_group_element_get_label #}
        (toHTMLOptGroupElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLOptionElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLOptionElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLOptionElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLOptionElement.chs
@@ -38,7 +38,8 @@
          (toHTMLOptionElement self))
  
 htmlOptionElementSetLabel ::
-                          (HTMLOptionElementClass self) => self -> String -> IO ()
+                          (HTMLOptionElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlOptionElementSetLabel self val
   = withUTFString val $
       \ valPtr ->
@@ -47,7 +48,8 @@
           valPtr
  
 htmlOptionElementGetLabel ::
-                          (HTMLOptionElementClass self) => self -> IO String
+                          (HTMLOptionElementClass self, GlibString string) =>
+                            self -> IO string
 htmlOptionElementGetLabel self
   = ({# call webkit_dom_html_option_element_get_label #}
        (toHTMLOptionElement self))
@@ -83,7 +85,8 @@
          (toHTMLOptionElement self))
  
 htmlOptionElementSetValue ::
-                          (HTMLOptionElementClass self) => self -> String -> IO ()
+                          (HTMLOptionElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlOptionElementSetValue self val
   = withUTFString val $
       \ valPtr ->
@@ -92,7 +95,8 @@
           valPtr
  
 htmlOptionElementGetValue ::
-                          (HTMLOptionElementClass self) => self -> IO String
+                          (HTMLOptionElementClass self, GlibString string) =>
+                            self -> IO string
 htmlOptionElementGetValue self
   = ({# call webkit_dom_html_option_element_get_value #}
        (toHTMLOptionElement self))
@@ -100,7 +104,8 @@
       readUTFString
  
 htmlOptionElementGetText ::
-                         (HTMLOptionElementClass self) => self -> IO String
+                         (HTMLOptionElementClass self, GlibString string) =>
+                           self -> IO string
 htmlOptionElementGetText self
   = ({# call webkit_dom_html_option_element_get_text #}
        (toHTMLOptionElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLOptionsCollection.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLOptionsCollection.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLOptionsCollection.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLOptionsCollection.chs
@@ -17,8 +17,8 @@
  
 #if WEBKIT_CHECK_VERSION(2,2,2)
 htmlOptionsCollectionNamedItem ::
-                               (HTMLOptionsCollectionClass self) =>
-                                 self -> String -> IO (Maybe Node)
+                               (HTMLOptionsCollectionClass self, GlibString string) =>
+                                 self -> string -> IO (Maybe Node)
 htmlOptionsCollectionNamedItem self name
   = maybeNull (makeNewGObject mkNode)
       (withUTFString name $
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLParagraphElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLParagraphElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLParagraphElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLParagraphElement.chs
@@ -12,7 +12,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlParagraphElementSetAlign ::
-                             (HTMLParagraphElementClass self) => self -> String -> IO ()
+                             (HTMLParagraphElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlParagraphElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -21,7 +22,8 @@
           valPtr
  
 htmlParagraphElementGetAlign ::
-                             (HTMLParagraphElementClass self) => self -> IO String
+                             (HTMLParagraphElementClass self, GlibString string) =>
+                               self -> IO string
 htmlParagraphElementGetAlign self
   = ({# call webkit_dom_html_paragraph_element_get_align #}
        (toHTMLParagraphElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLParamElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLParamElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLParamElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLParamElement.chs
@@ -13,7 +13,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlParamElementSetName ::
-                        (HTMLParamElementClass self) => self -> String -> IO ()
+                        (HTMLParamElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlParamElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -22,7 +23,8 @@
           valPtr
  
 htmlParamElementGetName ::
-                        (HTMLParamElementClass self) => self -> IO String
+                        (HTMLParamElementClass self, GlibString string) =>
+                          self -> IO string
 htmlParamElementGetName self
   = ({# call webkit_dom_html_param_element_get_name #}
        (toHTMLParamElement self))
@@ -30,7 +32,8 @@
       readUTFString
  
 htmlParamElementSetValue ::
-                         (HTMLParamElementClass self) => self -> String -> IO ()
+                         (HTMLParamElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlParamElementSetValue self val
   = withUTFString val $
       \ valPtr ->
@@ -39,7 +42,8 @@
           valPtr
  
 htmlParamElementGetValue ::
-                         (HTMLParamElementClass self) => self -> IO String
+                         (HTMLParamElementClass self, GlibString string) =>
+                           self -> IO string
 htmlParamElementGetValue self
   = ({# call webkit_dom_html_param_element_get_value #}
        (toHTMLParamElement self))
@@ -47,7 +51,8 @@
       readUTFString
  
 htmlParamElementSetValueType ::
-                             (HTMLParamElementClass self) => self -> String -> IO ()
+                             (HTMLParamElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlParamElementSetValueType self val
   = withUTFString val $
       \ valPtr ->
@@ -56,7 +61,8 @@
           valPtr
  
 htmlParamElementGetValueType ::
-                             (HTMLParamElementClass self) => self -> IO String
+                             (HTMLParamElementClass self, GlibString string) =>
+                               self -> IO string
 htmlParamElementGetValueType self
   = ({# call webkit_dom_html_param_element_get_value_type #}
        (toHTMLParamElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLQuoteElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLQuoteElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLQuoteElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLQuoteElement.chs
@@ -11,7 +11,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlQuoteElementSetCite ::
-                        (HTMLQuoteElementClass self) => self -> String -> IO ()
+                        (HTMLQuoteElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlQuoteElementSetCite self val
   = withUTFString val $
       \ valPtr ->
@@ -20,7 +21,8 @@
           valPtr
  
 htmlQuoteElementGetCite ::
-                        (HTMLQuoteElementClass self) => self -> IO String
+                        (HTMLQuoteElementClass self, GlibString string) =>
+                          self -> IO string
 htmlQuoteElementGetCite self
   = ({# call webkit_dom_html_quote_element_get_cite #}
        (toHTMLQuoteElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLScriptElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLScriptElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLScriptElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLScriptElement.chs
@@ -21,7 +21,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlScriptElementSetText ::
-                         (HTMLScriptElementClass self) => self -> String -> IO ()
+                         (HTMLScriptElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlScriptElementSetText self val
   = withUTFString val $
       \ valPtr ->
@@ -30,7 +31,8 @@
           valPtr
  
 htmlScriptElementGetText ::
-                         (HTMLScriptElementClass self) => self -> IO String
+                         (HTMLScriptElementClass self, GlibString string) =>
+                           self -> IO string
 htmlScriptElementGetText self
   = ({# call webkit_dom_html_script_element_get_text #}
        (toHTMLScriptElement self))
@@ -38,7 +40,8 @@
       readUTFString
  
 htmlScriptElementSetHtmlFor ::
-                            (HTMLScriptElementClass self) => self -> String -> IO ()
+                            (HTMLScriptElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlScriptElementSetHtmlFor self val
   = withUTFString val $
       \ valPtr ->
@@ -47,7 +50,8 @@
           valPtr
  
 htmlScriptElementGetHtmlFor ::
-                            (HTMLScriptElementClass self) => self -> IO String
+                            (HTMLScriptElementClass self, GlibString string) =>
+                              self -> IO string
 htmlScriptElementGetHtmlFor self
   = ({# call webkit_dom_html_script_element_get_html_for #}
        (toHTMLScriptElement self))
@@ -55,7 +59,8 @@
       readUTFString
  
 htmlScriptElementSetEvent ::
-                          (HTMLScriptElementClass self) => self -> String -> IO ()
+                          (HTMLScriptElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlScriptElementSetEvent self val
   = withUTFString val $
       \ valPtr ->
@@ -64,7 +69,8 @@
           valPtr
  
 htmlScriptElementGetEvent ::
-                          (HTMLScriptElementClass self) => self -> IO String
+                          (HTMLScriptElementClass self, GlibString string) =>
+                            self -> IO string
 htmlScriptElementGetEvent self
   = ({# call webkit_dom_html_script_element_get_event #}
        (toHTMLScriptElement self))
@@ -72,7 +78,8 @@
       readUTFString
  
 htmlScriptElementSetCharset ::
-                            (HTMLScriptElementClass self) => self -> String -> IO ()
+                            (HTMLScriptElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlScriptElementSetCharset self val
   = withUTFString val $
       \ valPtr ->
@@ -81,7 +88,8 @@
           valPtr
  
 htmlScriptElementGetCharset ::
-                            (HTMLScriptElementClass self) => self -> IO String
+                            (HTMLScriptElementClass self, GlibString string) =>
+                              self -> IO string
 htmlScriptElementGetCharset self
   = ({# call webkit_dom_html_script_element_get_charset #}
        (toHTMLScriptElement self))
@@ -117,7 +125,8 @@
          (toHTMLScriptElement self))
  
 htmlScriptElementSetSrc ::
-                        (HTMLScriptElementClass self) => self -> String -> IO ()
+                        (HTMLScriptElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlScriptElementSetSrc self val
   = withUTFString val $
       \ valPtr ->
@@ -126,7 +135,8 @@
           valPtr
  
 htmlScriptElementGetSrc ::
-                        (HTMLScriptElementClass self) => self -> IO String
+                        (HTMLScriptElementClass self, GlibString string) =>
+                          self -> IO string
 htmlScriptElementGetSrc self
   = ({# call webkit_dom_html_script_element_get_src #}
        (toHTMLScriptElement self))
@@ -135,7 +145,8 @@
  
 #if WEBKIT_CHECK_VERSION(1,10,0)
 htmlScriptElementSetCrossOrigin ::
-                                (HTMLScriptElementClass self) => self -> String -> IO ()
+                                (HTMLScriptElementClass self, GlibString string) =>
+                                  self -> string -> IO ()
 htmlScriptElementSetCrossOrigin self val
   = withUTFString val $
       \ valPtr ->
@@ -144,7 +155,8 @@
           valPtr
  
 htmlScriptElementGetCrossOrigin ::
-                                (HTMLScriptElementClass self) => self -> IO String
+                                (HTMLScriptElementClass self, GlibString string) =>
+                                  self -> IO string
 htmlScriptElementGetCrossOrigin self
   = ({# call webkit_dom_html_script_element_get_cross_origin #}
        (toHTMLScriptElement self))
@@ -152,7 +164,8 @@
       readUTFString
  
 htmlScriptElementSetNonce ::
-                          (HTMLScriptElementClass self) => self -> String -> IO ()
+                          (HTMLScriptElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlScriptElementSetNonce self val
   = withUTFString val $
       \ valPtr ->
@@ -161,7 +174,8 @@
           valPtr
  
 htmlScriptElementGetNonce ::
-                          (HTMLScriptElementClass self) => self -> IO String
+                          (HTMLScriptElementClass self, GlibString string) =>
+                            self -> IO string
 htmlScriptElementGetNonce self
   = ({# call webkit_dom_html_script_element_get_nonce #}
        (toHTMLScriptElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLSelectElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLSelectElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLSelectElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLSelectElement.chs
@@ -37,7 +37,8 @@
          (fromIntegral index))
  
 htmlSelectElementNamedItem ::
-                           (HTMLSelectElementClass self) => self -> String -> IO (Maybe Node)
+                           (HTMLSelectElementClass self, GlibString string) =>
+                             self -> string -> IO (Maybe Node)
 htmlSelectElementNamedItem self name
   = maybeNull (makeNewGObject mkNode)
       (withUTFString name $
@@ -74,7 +75,8 @@
          (toHTMLSelectElement self))
  
 htmlSelectElementSetCustomValidity ::
-                                   (HTMLSelectElementClass self) => self -> String -> IO ()
+                                   (HTMLSelectElementClass self, GlibString string) =>
+                                     self -> string -> IO ()
 htmlSelectElementSetCustomValidity self error
   = withUTFString error $
       \ errorPtr ->
@@ -132,7 +134,8 @@
          (toHTMLSelectElement self))
  
 htmlSelectElementSetName ::
-                         (HTMLSelectElementClass self) => self -> String -> IO ()
+                         (HTMLSelectElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlSelectElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -141,7 +144,8 @@
           valPtr
  
 htmlSelectElementGetName ::
-                         (HTMLSelectElementClass self) => self -> IO String
+                         (HTMLSelectElementClass self, GlibString string) =>
+                           self -> IO string
 htmlSelectElementGetName self
   = ({# call webkit_dom_html_select_element_get_name #}
        (toHTMLSelectElement self))
@@ -226,7 +230,8 @@
          (toHTMLSelectElement self))
  
 htmlSelectElementSetValue ::
-                          (HTMLSelectElementClass self) => self -> String -> IO ()
+                          (HTMLSelectElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlSelectElementSetValue self val
   = withUTFString val $
       \ valPtr ->
@@ -235,7 +240,8 @@
           valPtr
  
 htmlSelectElementGetValue ::
-                          (HTMLSelectElementClass self) => self -> IO String
+                          (HTMLSelectElementClass self, GlibString string) =>
+                            self -> IO string
 htmlSelectElementGetValue self
   = ({# call webkit_dom_html_select_element_get_value #}
        (toHTMLSelectElement self))
@@ -257,7 +263,8 @@
          (toHTMLSelectElement self))
  
 htmlSelectElementGetValidationMessage ::
-                                      (HTMLSelectElementClass self) => self -> IO String
+                                      (HTMLSelectElementClass self, GlibString string) =>
+                                        self -> IO string
 htmlSelectElementGetValidationMessage self
   = ({# call webkit_dom_html_select_element_get_validation_message #}
        (toHTMLSelectElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLStyleElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLStyleElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLStyleElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLStyleElement.chs
@@ -41,7 +41,8 @@
          (toHTMLStyleElement self))
  
 htmlStyleElementSetMedia ::
-                         (HTMLStyleElementClass self) => self -> String -> IO ()
+                         (HTMLStyleElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlStyleElementSetMedia self val
   = withUTFString val $
       \ valPtr ->
@@ -50,7 +51,8 @@
           valPtr
  
 htmlStyleElementGetMedia ::
-                         (HTMLStyleElementClass self) => self -> IO String
+                         (HTMLStyleElementClass self, GlibString string) =>
+                           self -> IO string
 htmlStyleElementGetMedia self
   = ({# call webkit_dom_html_style_element_get_media #}
        (toHTMLStyleElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLTableCaptionElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLTableCaptionElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLTableCaptionElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLTableCaptionElement.chs
@@ -12,7 +12,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlTableCaptionElementSetAlign ::
-                                (HTMLTableCaptionElementClass self) => self -> String -> IO ()
+                                (HTMLTableCaptionElementClass self, GlibString string) =>
+                                  self -> string -> IO ()
 htmlTableCaptionElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -21,7 +22,8 @@
           valPtr
  
 htmlTableCaptionElementGetAlign ::
-                                (HTMLTableCaptionElementClass self) => self -> IO String
+                                (HTMLTableCaptionElementClass self, GlibString string) =>
+                                  self -> IO string
 htmlTableCaptionElementGetAlign self
   = ({# call webkit_dom_html_table_caption_element_get_align #}
        (toHTMLTableCaptionElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLTableCellElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLTableCellElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLTableCellElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLTableCellElement.chs
@@ -32,7 +32,8 @@
          (toHTMLTableCellElement self))
  
 htmlTableCellElementSetAbbr ::
-                            (HTMLTableCellElementClass self) => self -> String -> IO ()
+                            (HTMLTableCellElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlTableCellElementSetAbbr self val
   = withUTFString val $
       \ valPtr ->
@@ -41,7 +42,8 @@
           valPtr
  
 htmlTableCellElementGetAbbr ::
-                            (HTMLTableCellElementClass self) => self -> IO String
+                            (HTMLTableCellElementClass self, GlibString string) =>
+                              self -> IO string
 htmlTableCellElementGetAbbr self
   = ({# call webkit_dom_html_table_cell_element_get_abbr #}
        (toHTMLTableCellElement self))
@@ -49,7 +51,8 @@
       readUTFString
  
 htmlTableCellElementSetAlign ::
-                             (HTMLTableCellElementClass self) => self -> String -> IO ()
+                             (HTMLTableCellElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlTableCellElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -58,7 +61,8 @@
           valPtr
  
 htmlTableCellElementGetAlign ::
-                             (HTMLTableCellElementClass self) => self -> IO String
+                             (HTMLTableCellElementClass self, GlibString string) =>
+                               self -> IO string
 htmlTableCellElementGetAlign self
   = ({# call webkit_dom_html_table_cell_element_get_align #}
        (toHTMLTableCellElement self))
@@ -66,7 +70,8 @@
       readUTFString
  
 htmlTableCellElementSetAxis ::
-                            (HTMLTableCellElementClass self) => self -> String -> IO ()
+                            (HTMLTableCellElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlTableCellElementSetAxis self val
   = withUTFString val $
       \ valPtr ->
@@ -75,7 +80,8 @@
           valPtr
  
 htmlTableCellElementGetAxis ::
-                            (HTMLTableCellElementClass self) => self -> IO String
+                            (HTMLTableCellElementClass self, GlibString string) =>
+                              self -> IO string
 htmlTableCellElementGetAxis self
   = ({# call webkit_dom_html_table_cell_element_get_axis #}
        (toHTMLTableCellElement self))
@@ -83,7 +89,8 @@
       readUTFString
  
 htmlTableCellElementSetBgColor ::
-                               (HTMLTableCellElementClass self) => self -> String -> IO ()
+                               (HTMLTableCellElementClass self, GlibString string) =>
+                                 self -> string -> IO ()
 htmlTableCellElementSetBgColor self val
   = withUTFString val $
       \ valPtr ->
@@ -92,7 +99,8 @@
           valPtr
  
 htmlTableCellElementGetBgColor ::
-                               (HTMLTableCellElementClass self) => self -> IO String
+                               (HTMLTableCellElementClass self, GlibString string) =>
+                                 self -> IO string
 htmlTableCellElementGetBgColor self
   = ({# call webkit_dom_html_table_cell_element_get_bg_color #}
        (toHTMLTableCellElement self))
@@ -100,7 +108,8 @@
       readUTFString
  
 htmlTableCellElementSetCh ::
-                          (HTMLTableCellElementClass self) => self -> String -> IO ()
+                          (HTMLTableCellElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlTableCellElementSetCh self val
   = withUTFString val $
       \ valPtr ->
@@ -109,7 +118,8 @@
           valPtr
  
 htmlTableCellElementGetCh ::
-                          (HTMLTableCellElementClass self) => self -> IO String
+                          (HTMLTableCellElementClass self, GlibString string) =>
+                            self -> IO string
 htmlTableCellElementGetCh self
   = ({# call webkit_dom_html_table_cell_element_get_ch #}
        (toHTMLTableCellElement self))
@@ -117,7 +127,8 @@
       readUTFString
  
 htmlTableCellElementSetChOff ::
-                             (HTMLTableCellElementClass self) => self -> String -> IO ()
+                             (HTMLTableCellElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlTableCellElementSetChOff self val
   = withUTFString val $
       \ valPtr ->
@@ -126,7 +137,8 @@
           valPtr
  
 htmlTableCellElementGetChOff ::
-                             (HTMLTableCellElementClass self) => self -> IO String
+                             (HTMLTableCellElementClass self, GlibString string) =>
+                               self -> IO string
 htmlTableCellElementGetChOff self
   = ({# call webkit_dom_html_table_cell_element_get_ch_off #}
        (toHTMLTableCellElement self))
@@ -148,7 +160,8 @@
          (toHTMLTableCellElement self))
  
 htmlTableCellElementSetHeaders ::
-                               (HTMLTableCellElementClass self) => self -> String -> IO ()
+                               (HTMLTableCellElementClass self, GlibString string) =>
+                                 self -> string -> IO ()
 htmlTableCellElementSetHeaders self val
   = withUTFString val $
       \ valPtr ->
@@ -157,7 +170,8 @@
           valPtr
  
 htmlTableCellElementGetHeaders ::
-                               (HTMLTableCellElementClass self) => self -> IO String
+                               (HTMLTableCellElementClass self, GlibString string) =>
+                                 self -> IO string
 htmlTableCellElementGetHeaders self
   = ({# call webkit_dom_html_table_cell_element_get_headers #}
        (toHTMLTableCellElement self))
@@ -165,7 +179,8 @@
       readUTFString
  
 htmlTableCellElementSetHeight ::
-                              (HTMLTableCellElementClass self) => self -> String -> IO ()
+                              (HTMLTableCellElementClass self, GlibString string) =>
+                                self -> string -> IO ()
 htmlTableCellElementSetHeight self val
   = withUTFString val $
       \ valPtr ->
@@ -174,7 +189,8 @@
           valPtr
  
 htmlTableCellElementGetHeight ::
-                              (HTMLTableCellElementClass self) => self -> IO String
+                              (HTMLTableCellElementClass self, GlibString string) =>
+                                self -> IO string
 htmlTableCellElementGetHeight self
   = ({# call webkit_dom_html_table_cell_element_get_height #}
        (toHTMLTableCellElement self))
@@ -210,7 +226,8 @@
          (toHTMLTableCellElement self))
  
 htmlTableCellElementSetScope ::
-                             (HTMLTableCellElementClass self) => self -> String -> IO ()
+                             (HTMLTableCellElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlTableCellElementSetScope self val
   = withUTFString val $
       \ valPtr ->
@@ -219,7 +236,8 @@
           valPtr
  
 htmlTableCellElementGetScope ::
-                             (HTMLTableCellElementClass self) => self -> IO String
+                             (HTMLTableCellElementClass self, GlibString string) =>
+                               self -> IO string
 htmlTableCellElementGetScope self
   = ({# call webkit_dom_html_table_cell_element_get_scope #}
        (toHTMLTableCellElement self))
@@ -227,7 +245,8 @@
       readUTFString
  
 htmlTableCellElementSetVAlign ::
-                              (HTMLTableCellElementClass self) => self -> String -> IO ()
+                              (HTMLTableCellElementClass self, GlibString string) =>
+                                self -> string -> IO ()
 htmlTableCellElementSetVAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -236,7 +255,8 @@
           valPtr
  
 htmlTableCellElementGetVAlign ::
-                              (HTMLTableCellElementClass self) => self -> IO String
+                              (HTMLTableCellElementClass self, GlibString string) =>
+                                self -> IO string
 htmlTableCellElementGetVAlign self
   = ({# call webkit_dom_html_table_cell_element_get_v_align #}
        (toHTMLTableCellElement self))
@@ -244,7 +264,8 @@
       readUTFString
  
 htmlTableCellElementSetWidth ::
-                             (HTMLTableCellElementClass self) => self -> String -> IO ()
+                             (HTMLTableCellElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlTableCellElementSetWidth self val
   = withUTFString val $
       \ valPtr ->
@@ -253,7 +274,8 @@
           valPtr
  
 htmlTableCellElementGetWidth ::
-                             (HTMLTableCellElementClass self) => self -> IO String
+                             (HTMLTableCellElementClass self, GlibString string) =>
+                               self -> IO string
 htmlTableCellElementGetWidth self
   = ({# call webkit_dom_html_table_cell_element_get_width #}
        (toHTMLTableCellElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLTableColElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLTableColElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLTableColElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLTableColElement.chs
@@ -17,7 +17,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlTableColElementSetAlign ::
-                            (HTMLTableColElementClass self) => self -> String -> IO ()
+                            (HTMLTableColElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlTableColElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -26,7 +27,8 @@
           valPtr
  
 htmlTableColElementGetAlign ::
-                            (HTMLTableColElementClass self) => self -> IO String
+                            (HTMLTableColElementClass self, GlibString string) =>
+                              self -> IO string
 htmlTableColElementGetAlign self
   = ({# call webkit_dom_html_table_col_element_get_align #}
        (toHTMLTableColElement self))
@@ -34,7 +36,8 @@
       readUTFString
  
 htmlTableColElementSetCh ::
-                         (HTMLTableColElementClass self) => self -> String -> IO ()
+                         (HTMLTableColElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlTableColElementSetCh self val
   = withUTFString val $
       \ valPtr ->
@@ -43,7 +46,8 @@
           valPtr
  
 htmlTableColElementGetCh ::
-                         (HTMLTableColElementClass self) => self -> IO String
+                         (HTMLTableColElementClass self, GlibString string) =>
+                           self -> IO string
 htmlTableColElementGetCh self
   = ({# call webkit_dom_html_table_col_element_get_ch #}
        (toHTMLTableColElement self))
@@ -51,7 +55,8 @@
       readUTFString
  
 htmlTableColElementSetChOff ::
-                            (HTMLTableColElementClass self) => self -> String -> IO ()
+                            (HTMLTableColElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlTableColElementSetChOff self val
   = withUTFString val $
       \ valPtr ->
@@ -60,7 +65,8 @@
           valPtr
  
 htmlTableColElementGetChOff ::
-                            (HTMLTableColElementClass self) => self -> IO String
+                            (HTMLTableColElementClass self, GlibString string) =>
+                              self -> IO string
 htmlTableColElementGetChOff self
   = ({# call webkit_dom_html_table_col_element_get_ch_off #}
        (toHTMLTableColElement self))
@@ -82,7 +88,8 @@
          (toHTMLTableColElement self))
  
 htmlTableColElementSetVAlign ::
-                             (HTMLTableColElementClass self) => self -> String -> IO ()
+                             (HTMLTableColElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlTableColElementSetVAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -91,7 +98,8 @@
           valPtr
  
 htmlTableColElementGetVAlign ::
-                             (HTMLTableColElementClass self) => self -> IO String
+                             (HTMLTableColElementClass self, GlibString string) =>
+                               self -> IO string
 htmlTableColElementGetVAlign self
   = ({# call webkit_dom_html_table_col_element_get_v_align #}
        (toHTMLTableColElement self))
@@ -99,7 +107,8 @@
       readUTFString
  
 htmlTableColElementSetWidth ::
-                            (HTMLTableColElementClass self) => self -> String -> IO ()
+                            (HTMLTableColElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlTableColElementSetWidth self val
   = withUTFString val $
       \ valPtr ->
@@ -108,7 +117,8 @@
           valPtr
  
 htmlTableColElementGetWidth ::
-                            (HTMLTableColElementClass self) => self -> IO String
+                            (HTMLTableColElementClass self, GlibString string) =>
+                              self -> IO string
 htmlTableColElementGetWidth self
   = ({# call webkit_dom_html_table_col_element_get_width #}
        (toHTMLTableColElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLTableElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLTableElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLTableElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLTableElement.chs
@@ -177,7 +177,8 @@
          (toHTMLTableElement self))
  
 htmlTableElementSetAlign ::
-                         (HTMLTableElementClass self) => self -> String -> IO ()
+                         (HTMLTableElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlTableElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -186,7 +187,8 @@
           valPtr
  
 htmlTableElementGetAlign ::
-                         (HTMLTableElementClass self) => self -> IO String
+                         (HTMLTableElementClass self, GlibString string) =>
+                           self -> IO string
 htmlTableElementGetAlign self
   = ({# call webkit_dom_html_table_element_get_align #}
        (toHTMLTableElement self))
@@ -194,7 +196,8 @@
       readUTFString
  
 htmlTableElementSetBgColor ::
-                           (HTMLTableElementClass self) => self -> String -> IO ()
+                           (HTMLTableElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlTableElementSetBgColor self val
   = withUTFString val $
       \ valPtr ->
@@ -203,7 +206,8 @@
           valPtr
  
 htmlTableElementGetBgColor ::
-                           (HTMLTableElementClass self) => self -> IO String
+                           (HTMLTableElementClass self, GlibString string) =>
+                             self -> IO string
 htmlTableElementGetBgColor self
   = ({# call webkit_dom_html_table_element_get_bg_color #}
        (toHTMLTableElement self))
@@ -211,7 +215,8 @@
       readUTFString
  
 htmlTableElementSetBorder ::
-                          (HTMLTableElementClass self) => self -> String -> IO ()
+                          (HTMLTableElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlTableElementSetBorder self val
   = withUTFString val $
       \ valPtr ->
@@ -220,7 +225,8 @@
           valPtr
  
 htmlTableElementGetBorder ::
-                          (HTMLTableElementClass self) => self -> IO String
+                          (HTMLTableElementClass self, GlibString string) =>
+                            self -> IO string
 htmlTableElementGetBorder self
   = ({# call webkit_dom_html_table_element_get_border #}
        (toHTMLTableElement self))
@@ -228,7 +234,8 @@
       readUTFString
  
 htmlTableElementSetCellPadding ::
-                               (HTMLTableElementClass self) => self -> String -> IO ()
+                               (HTMLTableElementClass self, GlibString string) =>
+                                 self -> string -> IO ()
 htmlTableElementSetCellPadding self val
   = withUTFString val $
       \ valPtr ->
@@ -237,7 +244,8 @@
           valPtr
  
 htmlTableElementGetCellPadding ::
-                               (HTMLTableElementClass self) => self -> IO String
+                               (HTMLTableElementClass self, GlibString string) =>
+                                 self -> IO string
 htmlTableElementGetCellPadding self
   = ({# call webkit_dom_html_table_element_get_cell_padding #}
        (toHTMLTableElement self))
@@ -245,7 +253,8 @@
       readUTFString
  
 htmlTableElementSetCellSpacing ::
-                               (HTMLTableElementClass self) => self -> String -> IO ()
+                               (HTMLTableElementClass self, GlibString string) =>
+                                 self -> string -> IO ()
 htmlTableElementSetCellSpacing self val
   = withUTFString val $
       \ valPtr ->
@@ -254,7 +263,8 @@
           valPtr
  
 htmlTableElementGetCellSpacing ::
-                               (HTMLTableElementClass self) => self -> IO String
+                               (HTMLTableElementClass self, GlibString string) =>
+                                 self -> IO string
 htmlTableElementGetCellSpacing self
   = ({# call webkit_dom_html_table_element_get_cell_spacing #}
        (toHTMLTableElement self))
@@ -262,7 +272,8 @@
       readUTFString
  
 htmlTableElementSetFrame ::
-                         (HTMLTableElementClass self) => self -> String -> IO ()
+                         (HTMLTableElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlTableElementSetFrame self val
   = withUTFString val $
       \ valPtr ->
@@ -271,7 +282,8 @@
           valPtr
  
 htmlTableElementGetFrame ::
-                         (HTMLTableElementClass self) => self -> IO String
+                         (HTMLTableElementClass self, GlibString string) =>
+                           self -> IO string
 htmlTableElementGetFrame self
   = ({# call webkit_dom_html_table_element_get_frame #}
        (toHTMLTableElement self))
@@ -279,7 +291,8 @@
       readUTFString
  
 htmlTableElementSetRules ::
-                         (HTMLTableElementClass self) => self -> String -> IO ()
+                         (HTMLTableElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlTableElementSetRules self val
   = withUTFString val $
       \ valPtr ->
@@ -288,7 +301,8 @@
           valPtr
  
 htmlTableElementGetRules ::
-                         (HTMLTableElementClass self) => self -> IO String
+                         (HTMLTableElementClass self, GlibString string) =>
+                           self -> IO string
 htmlTableElementGetRules self
   = ({# call webkit_dom_html_table_element_get_rules #}
        (toHTMLTableElement self))
@@ -296,7 +310,8 @@
       readUTFString
  
 htmlTableElementSetSummary ::
-                           (HTMLTableElementClass self) => self -> String -> IO ()
+                           (HTMLTableElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlTableElementSetSummary self val
   = withUTFString val $
       \ valPtr ->
@@ -305,7 +320,8 @@
           valPtr
  
 htmlTableElementGetSummary ::
-                           (HTMLTableElementClass self) => self -> IO String
+                           (HTMLTableElementClass self, GlibString string) =>
+                             self -> IO string
 htmlTableElementGetSummary self
   = ({# call webkit_dom_html_table_element_get_summary #}
        (toHTMLTableElement self))
@@ -313,7 +329,8 @@
       readUTFString
  
 htmlTableElementSetWidth ::
-                         (HTMLTableElementClass self) => self -> String -> IO ()
+                         (HTMLTableElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlTableElementSetWidth self val
   = withUTFString val $
       \ valPtr ->
@@ -322,7 +339,8 @@
           valPtr
  
 htmlTableElementGetWidth ::
-                         (HTMLTableElementClass self) => self -> IO String
+                         (HTMLTableElementClass self, GlibString string) =>
+                           self -> IO string
 htmlTableElementGetWidth self
   = ({# call webkit_dom_html_table_element_get_width #}
        (toHTMLTableElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLTableRowElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLTableRowElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLTableRowElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLTableRowElement.chs
@@ -63,7 +63,8 @@
          (toHTMLTableRowElement self))
  
 htmlTableRowElementSetAlign ::
-                            (HTMLTableRowElementClass self) => self -> String -> IO ()
+                            (HTMLTableRowElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlTableRowElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -72,7 +73,8 @@
           valPtr
  
 htmlTableRowElementGetAlign ::
-                            (HTMLTableRowElementClass self) => self -> IO String
+                            (HTMLTableRowElementClass self, GlibString string) =>
+                              self -> IO string
 htmlTableRowElementGetAlign self
   = ({# call webkit_dom_html_table_row_element_get_align #}
        (toHTMLTableRowElement self))
@@ -80,7 +82,8 @@
       readUTFString
  
 htmlTableRowElementSetBgColor ::
-                              (HTMLTableRowElementClass self) => self -> String -> IO ()
+                              (HTMLTableRowElementClass self, GlibString string) =>
+                                self -> string -> IO ()
 htmlTableRowElementSetBgColor self val
   = withUTFString val $
       \ valPtr ->
@@ -89,7 +92,8 @@
           valPtr
  
 htmlTableRowElementGetBgColor ::
-                              (HTMLTableRowElementClass self) => self -> IO String
+                              (HTMLTableRowElementClass self, GlibString string) =>
+                                self -> IO string
 htmlTableRowElementGetBgColor self
   = ({# call webkit_dom_html_table_row_element_get_bg_color #}
        (toHTMLTableRowElement self))
@@ -97,7 +101,8 @@
       readUTFString
  
 htmlTableRowElementSetCh ::
-                         (HTMLTableRowElementClass self) => self -> String -> IO ()
+                         (HTMLTableRowElementClass self, GlibString string) =>
+                           self -> string -> IO ()
 htmlTableRowElementSetCh self val
   = withUTFString val $
       \ valPtr ->
@@ -106,7 +111,8 @@
           valPtr
  
 htmlTableRowElementGetCh ::
-                         (HTMLTableRowElementClass self) => self -> IO String
+                         (HTMLTableRowElementClass self, GlibString string) =>
+                           self -> IO string
 htmlTableRowElementGetCh self
   = ({# call webkit_dom_html_table_row_element_get_ch #}
        (toHTMLTableRowElement self))
@@ -114,7 +120,8 @@
       readUTFString
  
 htmlTableRowElementSetChOff ::
-                            (HTMLTableRowElementClass self) => self -> String -> IO ()
+                            (HTMLTableRowElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlTableRowElementSetChOff self val
   = withUTFString val $
       \ valPtr ->
@@ -123,7 +130,8 @@
           valPtr
  
 htmlTableRowElementGetChOff ::
-                            (HTMLTableRowElementClass self) => self -> IO String
+                            (HTMLTableRowElementClass self, GlibString string) =>
+                              self -> IO string
 htmlTableRowElementGetChOff self
   = ({# call webkit_dom_html_table_row_element_get_ch_off #}
        (toHTMLTableRowElement self))
@@ -131,7 +139,8 @@
       readUTFString
  
 htmlTableRowElementSetVAlign ::
-                             (HTMLTableRowElementClass self) => self -> String -> IO ()
+                             (HTMLTableRowElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlTableRowElementSetVAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -140,7 +149,8 @@
           valPtr
  
 htmlTableRowElementGetVAlign ::
-                             (HTMLTableRowElementClass self) => self -> IO String
+                             (HTMLTableRowElementClass self, GlibString string) =>
+                               self -> IO string
 htmlTableRowElementGetVAlign self
   = ({# call webkit_dom_html_table_row_element_get_v_align #}
        (toHTMLTableRowElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLTableSectionElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLTableSectionElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLTableSectionElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLTableSectionElement.chs
@@ -39,7 +39,8 @@
           errorPtr_
  
 htmlTableSectionElementSetAlign ::
-                                (HTMLTableSectionElementClass self) => self -> String -> IO ()
+                                (HTMLTableSectionElementClass self, GlibString string) =>
+                                  self -> string -> IO ()
 htmlTableSectionElementSetAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -48,7 +49,8 @@
           valPtr
  
 htmlTableSectionElementGetAlign ::
-                                (HTMLTableSectionElementClass self) => self -> IO String
+                                (HTMLTableSectionElementClass self, GlibString string) =>
+                                  self -> IO string
 htmlTableSectionElementGetAlign self
   = ({# call webkit_dom_html_table_section_element_get_align #}
        (toHTMLTableSectionElement self))
@@ -56,7 +58,8 @@
       readUTFString
  
 htmlTableSectionElementSetCh ::
-                             (HTMLTableSectionElementClass self) => self -> String -> IO ()
+                             (HTMLTableSectionElementClass self, GlibString string) =>
+                               self -> string -> IO ()
 htmlTableSectionElementSetCh self val
   = withUTFString val $
       \ valPtr ->
@@ -65,7 +68,8 @@
           valPtr
  
 htmlTableSectionElementGetCh ::
-                             (HTMLTableSectionElementClass self) => self -> IO String
+                             (HTMLTableSectionElementClass self, GlibString string) =>
+                               self -> IO string
 htmlTableSectionElementGetCh self
   = ({# call webkit_dom_html_table_section_element_get_ch #}
        (toHTMLTableSectionElement self))
@@ -73,7 +77,8 @@
       readUTFString
  
 htmlTableSectionElementSetChOff ::
-                                (HTMLTableSectionElementClass self) => self -> String -> IO ()
+                                (HTMLTableSectionElementClass self, GlibString string) =>
+                                  self -> string -> IO ()
 htmlTableSectionElementSetChOff self val
   = withUTFString val $
       \ valPtr ->
@@ -82,7 +87,8 @@
           valPtr
  
 htmlTableSectionElementGetChOff ::
-                                (HTMLTableSectionElementClass self) => self -> IO String
+                                (HTMLTableSectionElementClass self, GlibString string) =>
+                                  self -> IO string
 htmlTableSectionElementGetChOff self
   = ({# call webkit_dom_html_table_section_element_get_ch_off #}
        (toHTMLTableSectionElement self))
@@ -90,7 +96,8 @@
       readUTFString
  
 htmlTableSectionElementSetVAlign ::
-                                 (HTMLTableSectionElementClass self) => self -> String -> IO ()
+                                 (HTMLTableSectionElementClass self, GlibString string) =>
+                                   self -> string -> IO ()
 htmlTableSectionElementSetVAlign self val
   = withUTFString val $
       \ valPtr ->
@@ -99,7 +106,8 @@
           valPtr
  
 htmlTableSectionElementGetVAlign ::
-                                 (HTMLTableSectionElementClass self) => self -> IO String
+                                 (HTMLTableSectionElementClass self, GlibString string) =>
+                                   self -> IO string
 htmlTableSectionElementGetVAlign self
   = ({# call webkit_dom_html_table_section_element_get_v_align #}
        (toHTMLTableSectionElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLTextAreaElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLTextAreaElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLTextAreaElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLTextAreaElement.chs
@@ -45,7 +45,8 @@
          (toHTMLTextAreaElement self))
  
 htmlTextAreaElementSetCustomValidity ::
-                                     (HTMLTextAreaElementClass self) => self -> String -> IO ()
+                                     (HTMLTextAreaElementClass self, GlibString string) =>
+                                       self -> string -> IO ()
 htmlTextAreaElementSetCustomValidity self error
   = withUTFString error $
       \ errorPtr ->
@@ -61,8 +62,8 @@
  
 #if WEBKIT_CHECK_VERSION(2,2,2)
 htmlTextAreaElementSetRangeText ::
-                                (HTMLTextAreaElementClass self) =>
-                                  self -> String -> Word -> Word -> String -> IO ()
+                                (HTMLTextAreaElementClass self, GlibString string) =>
+                                  self -> string -> Word -> Word -> string -> IO ()
 htmlTextAreaElementSetRangeText self replacement start end
   selectionMode
   = propagateGError $
@@ -81,8 +82,8 @@
 #endif
 
 htmlTextAreaElementSetSelectionRange ::
-                                     (HTMLTextAreaElementClass self) =>
-                                       self -> Int -> Int -> String -> IO ()
+                                     (HTMLTextAreaElementClass self, GlibString string) =>
+                                       self -> Int -> Int -> string -> IO ()
 htmlTextAreaElementSetSelectionRange self start end direction
   = withUTFString direction $
       \ directionPtr ->
@@ -121,7 +122,8 @@
          (toHTMLTextAreaElement self))
  
 htmlTextAreaElementSetDirName ::
-                              (HTMLTextAreaElementClass self) => self -> String -> IO ()
+                              (HTMLTextAreaElementClass self, GlibString string) =>
+                                self -> string -> IO ()
 htmlTextAreaElementSetDirName self val
   = withUTFString val $
       \ valPtr ->
@@ -130,7 +132,8 @@
           valPtr
  
 htmlTextAreaElementGetDirName ::
-                              (HTMLTextAreaElementClass self) => self -> IO String
+                              (HTMLTextAreaElementClass self, GlibString string) =>
+                                self -> IO string
 htmlTextAreaElementGetDirName self
   = ({# call webkit_dom_html_text_area_element_get_dir_name #}
        (toHTMLTextAreaElement self))
@@ -177,7 +180,8 @@
          (toHTMLTextAreaElement self))
  
 htmlTextAreaElementSetName ::
-                           (HTMLTextAreaElementClass self) => self -> String -> IO ()
+                           (HTMLTextAreaElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlTextAreaElementSetName self val
   = withUTFString val $
       \ valPtr ->
@@ -186,7 +190,8 @@
           valPtr
  
 htmlTextAreaElementGetName ::
-                           (HTMLTextAreaElementClass self) => self -> IO String
+                           (HTMLTextAreaElementClass self, GlibString string) =>
+                             self -> IO string
 htmlTextAreaElementGetName self
   = ({# call webkit_dom_html_text_area_element_get_name #}
        (toHTMLTextAreaElement self))
@@ -194,7 +199,8 @@
       readUTFString
  
 htmlTextAreaElementSetPlaceholder ::
-                                  (HTMLTextAreaElementClass self) => self -> String -> IO ()
+                                  (HTMLTextAreaElementClass self, GlibString string) =>
+                                    self -> string -> IO ()
 htmlTextAreaElementSetPlaceholder self val
   = withUTFString val $
       \ valPtr ->
@@ -203,7 +209,8 @@
           valPtr
  
 htmlTextAreaElementGetPlaceholder ::
-                                  (HTMLTextAreaElementClass self) => self -> IO String
+                                  (HTMLTextAreaElementClass self, GlibString string) =>
+                                    self -> IO string
 htmlTextAreaElementGetPlaceholder self
   = ({# call webkit_dom_html_text_area_element_get_placeholder #}
        (toHTMLTextAreaElement self))
@@ -253,7 +260,8 @@
          (toHTMLTextAreaElement self))
  
 htmlTextAreaElementSetWrap ::
-                           (HTMLTextAreaElementClass self) => self -> String -> IO ()
+                           (HTMLTextAreaElementClass self, GlibString string) =>
+                             self -> string -> IO ()
 htmlTextAreaElementSetWrap self val
   = withUTFString val $
       \ valPtr ->
@@ -262,7 +270,8 @@
           valPtr
  
 htmlTextAreaElementGetWrap ::
-                           (HTMLTextAreaElementClass self) => self -> IO String
+                           (HTMLTextAreaElementClass self, GlibString string) =>
+                             self -> IO string
 htmlTextAreaElementGetWrap self
   = ({# call webkit_dom_html_text_area_element_get_wrap #}
        (toHTMLTextAreaElement self))
@@ -270,7 +279,8 @@
       readUTFString
  
 htmlTextAreaElementSetDefaultValue ::
-                                   (HTMLTextAreaElementClass self) => self -> String -> IO ()
+                                   (HTMLTextAreaElementClass self, GlibString string) =>
+                                     self -> string -> IO ()
 htmlTextAreaElementSetDefaultValue self val
   = withUTFString val $
       \ valPtr ->
@@ -279,7 +289,8 @@
           valPtr
  
 htmlTextAreaElementGetDefaultValue ::
-                                   (HTMLTextAreaElementClass self) => self -> IO String
+                                   (HTMLTextAreaElementClass self, GlibString string) =>
+                                     self -> IO string
 htmlTextAreaElementGetDefaultValue self
   = ({# call webkit_dom_html_text_area_element_get_default_value #}
        (toHTMLTextAreaElement self))
@@ -287,7 +298,8 @@
       readUTFString
  
 htmlTextAreaElementSetValue ::
-                            (HTMLTextAreaElementClass self) => self -> String -> IO ()
+                            (HTMLTextAreaElementClass self, GlibString string) =>
+                              self -> string -> IO ()
 htmlTextAreaElementSetValue self val
   = withUTFString val $
       \ valPtr ->
@@ -296,7 +308,8 @@
           valPtr
  
 htmlTextAreaElementGetValue ::
-                            (HTMLTextAreaElementClass self) => self -> IO String
+                            (HTMLTextAreaElementClass self, GlibString string) =>
+                              self -> IO string
 htmlTextAreaElementGetValue self
   = ({# call webkit_dom_html_text_area_element_get_value #}
        (toHTMLTextAreaElement self))
@@ -325,7 +338,8 @@
          (toHTMLTextAreaElement self))
  
 htmlTextAreaElementGetValidationMessage ::
-                                        (HTMLTextAreaElementClass self) => self -> IO String
+                                        (HTMLTextAreaElementClass self, GlibString string) =>
+                                          self -> IO string
 htmlTextAreaElementGetValidationMessage self
   = ({# call webkit_dom_html_text_area_element_get_validation_message
        #}
@@ -369,7 +383,8 @@
          (toHTMLTextAreaElement self))
  
 htmlTextAreaElementSetSelectionDirection ::
-                                         (HTMLTextAreaElementClass self) => self -> String -> IO ()
+                                         (HTMLTextAreaElementClass self, GlibString string) =>
+                                           self -> string -> IO ()
 htmlTextAreaElementSetSelectionDirection self val
   = withUTFString val $
       \ valPtr ->
@@ -379,7 +394,8 @@
           valPtr
  
 htmlTextAreaElementGetSelectionDirection ::
-                                         (HTMLTextAreaElementClass self) => self -> IO String
+                                         (HTMLTextAreaElementClass self, GlibString string) =>
+                                           self -> IO string
 htmlTextAreaElementGetSelectionDirection self
   = ({# call
        webkit_dom_html_text_area_element_get_selection_direction
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLTitleElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLTitleElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLTitleElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLTitleElement.chs
@@ -11,7 +11,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 htmlTitleElementSetText ::
-                        (HTMLTitleElementClass self) => self -> String -> IO ()
+                        (HTMLTitleElementClass self, GlibString string) =>
+                          self -> string -> IO ()
 htmlTitleElementSetText self val
   = withUTFString val $
       \ valPtr ->
@@ -20,7 +21,8 @@
           valPtr
  
 htmlTitleElementGetText ::
-                        (HTMLTitleElementClass self) => self -> IO String
+                        (HTMLTitleElementClass self, GlibString string) =>
+                          self -> IO string
 htmlTitleElementGetText self
   = ({# call webkit_dom_html_title_element_get_text #}
        (toHTMLTitleElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/HTMLVideoElement.chs b/Graphics/UI/Gtk/WebKit/DOM/HTMLVideoElement.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/HTMLVideoElement.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/HTMLVideoElement.chs
@@ -94,7 +94,8 @@
          (toHTMLVideoElement self))
  
 htmlVideoElementSetPoster ::
-                          (HTMLVideoElementClass self) => self -> String -> IO ()
+                          (HTMLVideoElementClass self, GlibString string) =>
+                            self -> string -> IO ()
 htmlVideoElementSetPoster self val
   = withUTFString val $
       \ valPtr ->
@@ -103,7 +104,8 @@
           valPtr
  
 htmlVideoElementGetPoster ::
-                          (HTMLVideoElementClass self) => self -> IO String
+                          (HTMLVideoElementClass self, GlibString string) =>
+                            self -> IO string
 htmlVideoElementGetPoster self
   = ({# call webkit_dom_html_video_element_get_poster #}
        (toHTMLVideoElement self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/KeyboardEvent.chs b/Graphics/UI/Gtk/WebKit/DOM/KeyboardEvent.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/KeyboardEvent.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/KeyboardEvent.chs
@@ -22,7 +22,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 keyboardEventGetModifierState ::
-                              (KeyboardEventClass self) => self -> String -> IO Bool
+                              (KeyboardEventClass self, GlibString string) =>
+                                self -> string -> IO Bool
 keyboardEventGetModifierState self keyIdentifierArg
   = toBool <$>
       (withUTFString keyIdentifierArg $
@@ -32,13 +33,14 @@
              keyIdentifierArgPtr)
  
 keyboardEventInitKeyboardEvent ::
-                               (KeyboardEventClass self, DOMWindowClass view) =>
+                               (KeyboardEventClass self, DOMWindowClass view,
+                                GlibString string) =>
                                  self ->
-                                   String ->
+                                   string ->
                                      Bool ->
                                        Bool ->
                                          Maybe view ->
-                                           String ->
+                                           string ->
                                              Word -> Bool -> Bool -> Bool -> Bool -> Bool -> IO ()
 keyboardEventInitKeyboardEvent self type' canBubble cancelable view
   keyIdentifier location ctrlKey altKey shiftKey metaKey altGraphKey
@@ -65,7 +67,7 @@
 cKEY_LOCATION_NUMPAD = 3
  
 keyboardEventGetKeyIdentifier ::
-                              (KeyboardEventClass self) => self -> IO String
+                              (KeyboardEventClass self, GlibString string) => self -> IO string
 keyboardEventGetKeyIdentifier self
   = ({# call webkit_dom_keyboard_event_get_key_identifier #}
        (toKeyboardEvent self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/Location.chs b/Graphics/UI/Gtk/WebKit/DOM/Location.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/Location.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/Location.chs
@@ -11,7 +11,8 @@
 import System.Glib.GError
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
-locationGetOrigin :: (LocationClass self) => self -> IO String
+locationGetOrigin ::
+                  (LocationClass self, GlibString string) => self -> IO string
 locationGetOrigin self
   = ({# call webkit_dom_location_get_origin #} (toLocation self)) >>=
       readUTFString
diff --git a/Graphics/UI/Gtk/WebKit/DOM/MediaList.chs b/Graphics/UI/Gtk/WebKit/DOM/MediaList.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/MediaList.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/MediaList.chs
@@ -11,7 +11,9 @@
 import System.Glib.GError
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
-mediaListItem :: (MediaListClass self) => self -> Word -> IO String
+mediaListItem ::
+              (MediaListClass self, GlibString string) =>
+                self -> Word -> IO string
 mediaListItem self index
   = ({# call webkit_dom_media_list_item #} (toMediaList self)
        (fromIntegral index))
@@ -19,7 +21,7 @@
       readUTFString
  
 mediaListDeleteMedium ::
-                      (MediaListClass self) => self -> String -> IO ()
+                      (MediaListClass self, GlibString string) => self -> string -> IO ()
 mediaListDeleteMedium self oldMedium
   = propagateGError $
       \ errorPtr_ ->
@@ -30,7 +32,7 @@
           errorPtr_
  
 mediaListAppendMedium ::
-                      (MediaListClass self) => self -> String -> IO ()
+                      (MediaListClass self, GlibString string) => self -> string -> IO ()
 mediaListAppendMedium self newMedium
   = propagateGError $
       \ errorPtr_ ->
@@ -41,7 +43,7 @@
           errorPtr_
  
 mediaListSetMediaText ::
-                      (MediaListClass self) => self -> String -> IO ()
+                      (MediaListClass self, GlibString string) => self -> string -> IO ()
 mediaListSetMediaText self val
   = propagateGError $
       \ errorPtr_ ->
@@ -51,7 +53,8 @@
               valPtr
           errorPtr_
  
-mediaListGetMediaText :: (MediaListClass self) => self -> IO String
+mediaListGetMediaText ::
+                      (MediaListClass self, GlibString string) => self -> IO string
 mediaListGetMediaText self
   = ({# call webkit_dom_media_list_get_media_text #}
        (toMediaList self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/MediaQueryList.chs b/Graphics/UI/Gtk/WebKit/DOM/MediaQueryList.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/MediaQueryList.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/MediaQueryList.chs
@@ -11,7 +11,7 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 mediaQueryListGetMedia ::
-                       (MediaQueryListClass self) => self -> IO String
+                       (MediaQueryListClass self, GlibString string) => self -> IO string
 mediaQueryListGetMedia self
   = ({# call webkit_dom_media_query_list_get_media #}
        (toMediaQueryList self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/MouseEvent.chs b/Graphics/UI/Gtk/WebKit/DOM/MouseEvent.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/MouseEvent.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/MouseEvent.chs
@@ -17,9 +17,9 @@
  
 mouseEventInitMouseEvent ::
                          (MouseEventClass self, DOMWindowClass view,
-                          EventTargetClass relatedTarget) =>
+                          EventTargetClass relatedTarget, GlibString string) =>
                            self ->
-                             String ->
+                             string ->
                                Bool ->
                                  Bool ->
                                    Maybe view ->
diff --git a/Graphics/UI/Gtk/WebKit/DOM/NamedNodeMap.chs b/Graphics/UI/Gtk/WebKit/DOM/NamedNodeMap.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/NamedNodeMap.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/NamedNodeMap.chs
@@ -14,7 +14,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 namedNodeMapGetNamedItem ::
-                         (NamedNodeMapClass self) => self -> String -> IO (Maybe Node)
+                         (NamedNodeMapClass self, GlibString string) =>
+                           self -> string -> IO (Maybe Node)
 namedNodeMapGetNamedItem self name
   = maybeNull (makeNewGObject mkNode)
       (withUTFString name $
@@ -36,7 +37,8 @@
              errorPtr_)
  
 namedNodeMapRemoveNamedItem ::
-                            (NamedNodeMapClass self) => self -> String -> IO (Maybe Node)
+                            (NamedNodeMapClass self, GlibString string) =>
+                              self -> string -> IO (Maybe Node)
 namedNodeMapRemoveNamedItem self name
   = maybeNull (makeNewGObject mkNode)
       (propagateGError $
@@ -56,8 +58,8 @@
          (fromIntegral index))
  
 namedNodeMapGetNamedItemNS ::
-                           (NamedNodeMapClass self) =>
-                             self -> String -> String -> IO (Maybe Node)
+                           (NamedNodeMapClass self, GlibString string) =>
+                             self -> string -> string -> IO (Maybe Node)
 namedNodeMapGetNamedItemNS self namespaceURI localName
   = maybeNull (makeNewGObject mkNode)
       (withUTFString localName $
@@ -82,8 +84,8 @@
              errorPtr_)
  
 namedNodeMapRemoveNamedItemNS ::
-                              (NamedNodeMapClass self) =>
-                                self -> String -> String -> IO (Maybe Node)
+                              (NamedNodeMapClass self, GlibString string) =>
+                                self -> string -> string -> IO (Maybe Node)
 namedNodeMapRemoveNamedItemNS self namespaceURI localName
   = maybeNull (makeNewGObject mkNode)
       (propagateGError $
diff --git a/Graphics/UI/Gtk/WebKit/DOM/Navigator.chs b/Graphics/UI/Gtk/WebKit/DOM/Navigator.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/Navigator.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/Navigator.chs
@@ -27,41 +27,45 @@
       (toNavigator self)
  
 navigatorGetAppCodeName ::
-                        (NavigatorClass self) => self -> IO String
+                        (NavigatorClass self, GlibString string) => self -> IO string
 navigatorGetAppCodeName self
   = ({# call webkit_dom_navigator_get_app_code_name #}
        (toNavigator self))
       >>=
       readUTFString
  
-navigatorGetAppName :: (NavigatorClass self) => self -> IO String
+navigatorGetAppName ::
+                    (NavigatorClass self, GlibString string) => self -> IO string
 navigatorGetAppName self
   = ({# call webkit_dom_navigator_get_app_name #} (toNavigator self))
       >>=
       readUTFString
  
 navigatorGetAppVersion ::
-                       (NavigatorClass self) => self -> IO String
+                       (NavigatorClass self, GlibString string) => self -> IO string
 navigatorGetAppVersion self
   = ({# call webkit_dom_navigator_get_app_version #}
        (toNavigator self))
       >>=
       readUTFString
  
-navigatorGetLanguage :: (NavigatorClass self) => self -> IO String
+navigatorGetLanguage ::
+                     (NavigatorClass self, GlibString string) => self -> IO string
 navigatorGetLanguage self
   = ({# call webkit_dom_navigator_get_language #} (toNavigator self))
       >>=
       readUTFString
  
-navigatorGetUserAgent :: (NavigatorClass self) => self -> IO String
+navigatorGetUserAgent ::
+                      (NavigatorClass self, GlibString string) => self -> IO string
 navigatorGetUserAgent self
   = ({# call webkit_dom_navigator_get_user_agent #}
        (toNavigator self))
       >>=
       readUTFString
  
-navigatorGetPlatform :: (NavigatorClass self) => self -> IO String
+navigatorGetPlatform ::
+                     (NavigatorClass self, GlibString string) => self -> IO string
 navigatorGetPlatform self
   = ({# call webkit_dom_navigator_get_platform #} (toNavigator self))
       >>=
@@ -79,27 +83,30 @@
   = maybeNull (makeNewGObject mkDOMMimeTypeArray)
       ({# call webkit_dom_navigator_get_mime_types #} (toNavigator self))
  
-navigatorGetProduct :: (NavigatorClass self) => self -> IO String
+navigatorGetProduct ::
+                    (NavigatorClass self, GlibString string) => self -> IO string
 navigatorGetProduct self
   = ({# call webkit_dom_navigator_get_product #} (toNavigator self))
       >>=
       readUTFString
  
 navigatorGetProductSub ::
-                       (NavigatorClass self) => self -> IO String
+                       (NavigatorClass self, GlibString string) => self -> IO string
 navigatorGetProductSub self
   = ({# call webkit_dom_navigator_get_product_sub #}
        (toNavigator self))
       >>=
       readUTFString
  
-navigatorGetVendor :: (NavigatorClass self) => self -> IO String
+navigatorGetVendor ::
+                   (NavigatorClass self, GlibString string) => self -> IO string
 navigatorGetVendor self
   = ({# call webkit_dom_navigator_get_vendor #} (toNavigator self))
       >>=
       readUTFString
  
-navigatorGetVendorSub :: (NavigatorClass self) => self -> IO String
+navigatorGetVendorSub ::
+                      (NavigatorClass self, GlibString string) => self -> IO string
 navigatorGetVendorSub self
   = ({# call webkit_dom_navigator_get_vendor_sub #}
        (toNavigator self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/Node.chs b/Graphics/UI/Gtk/WebKit/DOM/Node.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/Node.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/Node.chs
@@ -90,7 +90,8 @@
   = {# call webkit_dom_node_normalize #} (toNode self)
  
 nodeIsSupported ::
-                (NodeClass self) => self -> String -> String -> IO Bool
+                (NodeClass self, GlibString string) =>
+                  self -> string -> string -> IO Bool
 nodeIsSupported self feature version
   = toBool <$>
       (withUTFString version $
@@ -114,7 +115,8 @@
       ({# call webkit_dom_node_is_equal_node #} (toNode self)
          (maybe (Node nullForeignPtr) toNode other))
  
-nodeLookupPrefix :: (NodeClass self) => self -> String -> IO String
+nodeLookupPrefix ::
+                 (NodeClass self, GlibString string) => self -> string -> IO string
 nodeLookupPrefix self namespaceURI
   = (withUTFString namespaceURI $
        \ namespaceURIPtr ->
@@ -124,7 +126,7 @@
       readUTFString
  
 nodeIsDefaultNamespace ::
-                       (NodeClass self) => self -> String -> IO Bool
+                       (NodeClass self, GlibString string) => self -> string -> IO Bool
 nodeIsDefaultNamespace self namespaceURI
   = toBool <$>
       (withUTFString namespaceURI $
@@ -133,7 +135,7 @@
              namespaceURIPtr)
  
 nodeLookupNamespaceURI ::
-                       (NodeClass self) => self -> String -> IO String
+                       (NodeClass self, GlibString string) => self -> string -> IO string
 nodeLookupNamespaceURI self prefix
   = (withUTFString prefix $
        \ prefixPtr ->
@@ -185,12 +187,14 @@
 cDOCUMENT_POSITION_CONTAINED_BY = 16
 cDOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32
  
-nodeGetNodeName :: (NodeClass self) => self -> IO String
+nodeGetNodeName ::
+                (NodeClass self, GlibString string) => self -> IO string
 nodeGetNodeName self
   = ({# call webkit_dom_node_get_node_name #} (toNode self)) >>=
       readUTFString
  
-nodeSetNodeValue :: (NodeClass self) => self -> String -> IO ()
+nodeSetNodeValue ::
+                 (NodeClass self, GlibString string) => self -> string -> IO ()
 nodeSetNodeValue self val
   = propagateGError $
       \ errorPtr_ ->
@@ -199,7 +203,8 @@
             {# call webkit_dom_node_set_node_value #} (toNode self) valPtr
           errorPtr_
  
-nodeGetNodeValue :: (NodeClass self) => self -> IO String
+nodeGetNodeValue ::
+                 (NodeClass self, GlibString string) => self -> IO string
 nodeGetNodeValue self
   = ({# call webkit_dom_node_get_node_value #} (toNode self)) >>=
       readUTFString
@@ -247,12 +252,14 @@
   = maybeNull (makeNewGObject mkDocument)
       ({# call webkit_dom_node_get_owner_document #} (toNode self))
  
-nodeGetNamespaceURI :: (NodeClass self) => self -> IO String
+nodeGetNamespaceURI ::
+                    (NodeClass self, GlibString string) => self -> IO string
 nodeGetNamespaceURI self
   = ({# call webkit_dom_node_get_namespace_uri #} (toNode self)) >>=
       readUTFString
  
-nodeSetPrefix :: (NodeClass self) => self -> String -> IO ()
+nodeSetPrefix ::
+              (NodeClass self, GlibString string) => self -> string -> IO ()
 nodeSetPrefix self val
   = propagateGError $
       \ errorPtr_ ->
@@ -261,22 +268,26 @@
             {# call webkit_dom_node_set_prefix #} (toNode self) valPtr
           errorPtr_
  
-nodeGetPrefix :: (NodeClass self) => self -> IO String
+nodeGetPrefix ::
+              (NodeClass self, GlibString string) => self -> IO string
 nodeGetPrefix self
   = ({# call webkit_dom_node_get_prefix #} (toNode self)) >>=
       readUTFString
  
-nodeGetLocalName :: (NodeClass self) => self -> IO String
+nodeGetLocalName ::
+                 (NodeClass self, GlibString string) => self -> IO string
 nodeGetLocalName self
   = ({# call webkit_dom_node_get_local_name #} (toNode self)) >>=
       readUTFString
  
-nodeGetBaseURI :: (NodeClass self) => self -> IO String
+nodeGetBaseURI ::
+               (NodeClass self, GlibString string) => self -> IO string
 nodeGetBaseURI self
   = ({# call webkit_dom_node_get_base_uri #} (toNode self)) >>=
       readUTFString
  
-nodeSetTextContent :: (NodeClass self) => self -> String -> IO ()
+nodeSetTextContent ::
+                   (NodeClass self, GlibString string) => self -> string -> IO ()
 nodeSetTextContent self val
   = propagateGError $
       \ errorPtr_ ->
@@ -285,7 +296,8 @@
             {# call webkit_dom_node_set_text_content #} (toNode self) valPtr
           errorPtr_
  
-nodeGetTextContent :: (NodeClass self) => self -> IO String
+nodeGetTextContent ::
+                   (NodeClass self, GlibString string) => self -> IO string
 nodeGetTextContent self
   = ({# call webkit_dom_node_get_text_content #} (toNode self)) >>=
       readUTFString
diff --git a/Graphics/UI/Gtk/WebKit/DOM/ProcessingInstruction.chs b/Graphics/UI/Gtk/WebKit/DOM/ProcessingInstruction.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/ProcessingInstruction.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/ProcessingInstruction.chs
@@ -13,7 +13,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 processingInstructionGetTarget ::
-                               (ProcessingInstructionClass self) => self -> IO String
+                               (ProcessingInstructionClass self, GlibString string) =>
+                                 self -> IO string
 processingInstructionGetTarget self
   = ({# call webkit_dom_processing_instruction_get_target #}
        (toProcessingInstruction self))
@@ -21,7 +22,7 @@
       readUTFString
  
 processingInstructionSetData ::
-                             (ProcessingInstructionClass self) => self -> String -> IO ()
+                             (ProcessingInstructionClass self, GlibString string) => self -> string -> IO ()
 processingInstructionSetData self val
   = propagateGError $
       \ errorPtr_ ->
@@ -33,7 +34,7 @@
           errorPtr_
  
 processingInstructionGetData ::
-                             (ProcessingInstructionClass self) => self -> IO String
+                             (ProcessingInstructionClass self, GlibString string) => self -> IO string
 processingInstructionGetData self
   = ({# call webkit_dom_processing_instruction_get_data #}
        (toProcessingInstruction self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/Range.chs b/Graphics/UI/Gtk/WebKit/DOM/Range.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/Range.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/Range.chs
@@ -178,7 +178,8 @@
            {# call webkit_dom_range_clone_range #} (toDOMRange self)
              errorPtr_)
  
-rangeToString :: (DOMRangeClass self) => self -> IO String
+rangeToString ::
+              (DOMRangeClass self, GlibString string) => self -> IO string
 rangeToString self
   = (propagateGError $
        \ errorPtr_ ->
@@ -193,8 +194,8 @@
         {# call webkit_dom_range_detach #} (toDOMRange self) errorPtr_
  
 rangeCreateContextualFragment ::
-                              (DOMRangeClass self) =>
-                                self -> String -> IO (Maybe DocumentFragment)
+                              (DOMRangeClass self, GlibString string) =>
+                                self -> string -> IO (Maybe DocumentFragment)
 rangeCreateContextualFragment self html
   = maybeNull (makeNewGObject mkDocumentFragment)
       (propagateGError $
@@ -252,7 +253,8 @@
              (fromIntegral offset)
              errorPtr_)
  
-rangeExpand :: (DOMRangeClass self) => self -> String -> IO ()
+rangeExpand ::
+            (DOMRangeClass self, GlibString string) => self -> string -> IO ()
 rangeExpand self unit
   = propagateGError $
       \ errorPtr_ ->
@@ -321,7 +323,8 @@
              (toDOMRange self)
              errorPtr_)
  
-rangeGetText :: (DOMRangeClass self) => self -> IO String
+rangeGetText ::
+             (DOMRangeClass self, GlibString string) => self -> IO string
 rangeGetText self
   = ({# call webkit_dom_range_get_text #} (toDOMRange self)) >>=
       readUTFString
diff --git a/Graphics/UI/Gtk/WebKit/DOM/Storage.chs b/Graphics/UI/Gtk/WebKit/DOM/Storage.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/Storage.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/Storage.chs
@@ -11,7 +11,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
 
 
-storageKey :: (StorageClass self) => self -> Word -> IO String
+storageKey ::
+           (StorageClass self, GlibString string) => self -> Word -> IO string
 #if WEBKIT_CHECK_VERSION(2,0,0)
 storageKey self index = propagateGError $ \errorPtr ->
     ({# call webkit_dom_storage_key #} (toStorage self) (fromIntegral index) errorPtr >>= readUTFString)
@@ -20,7 +21,9 @@
 #endif
 
 
-storageGetItem :: (StorageClass self) => self -> String -> IO String
+storageGetItem ::
+               (StorageClass self, GlibString string) =>
+                 self -> string -> IO string
 #if WEBKIT_CHECK_VERSION(2,0,0)
 storageGetItem self key = propagateGError $ \errorPtr -> (
   (withUTFString key $ \keyPtr ->
@@ -34,7 +37,7 @@
 #endif
 
 
-storageSetItem :: (StorageClass self) => self -> String -> String -> IO ()
+storageSetItem :: (StorageClass self, GlibString string) => self -> string -> string -> IO ()
 storageSetItem self key data'
   = propagateGError $
       \ errorPtr_ ->
@@ -47,7 +50,8 @@
           errorPtr_
 
 
-storageRemoveItem :: (StorageClass self) => self -> String -> IO ()
+storageRemoveItem ::
+                  (StorageClass self, GlibString string) => self -> string -> IO ()
 #if WEBKIT_CHECK_VERSION(2,0,0)
 storageRemoveItem self key = propagateGError $ \errorPtr -> (
   withUTFString key $ \keyPtr ->
diff --git a/Graphics/UI/Gtk/WebKit/DOM/StyleMedia.chs b/Graphics/UI/Gtk/WebKit/DOM/StyleMedia.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/StyleMedia.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/StyleMedia.chs
@@ -10,7 +10,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 styleMediaMatchMedium ::
-                      (StyleMediaClass self) => self -> String -> IO Bool
+                      (StyleMediaClass self, GlibString string) =>
+                        self -> string -> IO Bool
 styleMediaMatchMedium self mediaquery
   = toBool <$>
       (withUTFString mediaquery $
diff --git a/Graphics/UI/Gtk/WebKit/DOM/StyleSheet.chs b/Graphics/UI/Gtk/WebKit/DOM/StyleSheet.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/StyleSheet.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/StyleSheet.chs
@@ -39,13 +39,15 @@
       ({# call webkit_dom_style_sheet_get_parent_style_sheet #}
          (toStyleSheet self))
  
-styleSheetGetHref :: (StyleSheetClass self) => self -> IO String
+styleSheetGetHref ::
+                  (StyleSheetClass self, GlibString string) => self -> IO string
 styleSheetGetHref self
   = ({# call webkit_dom_style_sheet_get_href #} (toStyleSheet self))
       >>=
       readUTFString
  
-styleSheetGetTitle :: (StyleSheetClass self) => self -> IO String
+styleSheetGetTitle ::
+                   (StyleSheetClass self, GlibString string) => self -> IO string
 styleSheetGetTitle self
   = ({# call webkit_dom_style_sheet_get_title #} (toStyleSheet self))
       >>=
diff --git a/Graphics/UI/Gtk/WebKit/DOM/Text.chs b/Graphics/UI/Gtk/WebKit/DOM/Text.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/Text.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/Text.chs
@@ -20,7 +20,8 @@
              errorPtr_)
  
 textReplaceWholeText ::
-                     (TextClass self) => self -> String -> IO (Maybe Text)
+                     (TextClass self, GlibString string) =>
+                       self -> string -> IO (Maybe Text)
 textReplaceWholeText self content
   = maybeNull (makeNewGObject mkText)
       (propagateGError $
@@ -31,7 +32,8 @@
                  contentPtr
              errorPtr_)
  
-textGetWholeText :: (TextClass self) => self -> IO String
+textGetWholeText ::
+                 (TextClass self, GlibString string) => self -> IO string
 textGetWholeText self
   = ({# call webkit_dom_text_get_whole_text #} (toText self)) >>=
       readUTFString
diff --git a/Graphics/UI/Gtk/WebKit/DOM/UIEvent.chs b/Graphics/UI/Gtk/WebKit/DOM/UIEvent.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/UIEvent.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/UIEvent.chs
@@ -12,8 +12,8 @@
 import System.Glib.GError
  
 uiEventInitUIEvent ::
-                   (UIEventClass self, DOMWindowClass view) =>
-                     self -> String -> Bool -> Bool -> Maybe view -> Int -> IO ()
+                   (UIEventClass self, DOMWindowClass view, GlibString string) =>
+                     self -> string -> Bool -> Bool -> Maybe view -> Int -> IO ()
 uiEventInitUIEvent self type' canBubble cancelable view detail
   = withUTFString type' $
       \ typePtr ->
diff --git a/Graphics/UI/Gtk/WebKit/DOM/WebKitNamedFlow.chs b/Graphics/UI/Gtk/WebKit/DOM/WebKitNamedFlow.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/WebKitNamedFlow.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/WebKitNamedFlow.chs
@@ -54,7 +54,7 @@
              errorPtr_)
  
 webKitNamedFlowGetName ::
-                       (WebKitNamedFlowClass self) => self -> IO String
+                       (WebKitNamedFlowClass self, GlibString string) => self -> IO string
 webKitNamedFlowGetName self
   = ({# call webkit_dom_webkit_named_flow_get_name #}
        (toWebKitNamedFlow self))
diff --git a/Graphics/UI/Gtk/WebKit/DOM/XPathNSResolver.chs b/Graphics/UI/Gtk/WebKit/DOM/XPathNSResolver.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/XPathNSResolver.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/XPathNSResolver.chs
@@ -11,7 +11,8 @@
 import Graphics.UI.Gtk.WebKit.DOM.EventM
  
 xPathNSResolverLookupNamespaceURI ::
-                                  (XPathNSResolverClass self) => self -> String -> IO String
+                                  (XPathNSResolverClass self, GlibString string) =>
+                                    self -> string -> IO string
 xPathNSResolverLookupNamespaceURI self prefix
   = (withUTFString prefix $
        \ prefixPtr ->
diff --git a/Graphics/UI/Gtk/WebKit/DOM/XPathResult.chs b/Graphics/UI/Gtk/WebKit/DOM/XPathResult.chs
--- a/Graphics/UI/Gtk/WebKit/DOM/XPathResult.chs
+++ b/Graphics/UI/Gtk/WebKit/DOM/XPathResult.chs
@@ -66,7 +66,7 @@
              errorPtr_)
  
 xPathResultGetStringValue ::
-                          (XPathResultClass self) => self -> IO String
+                          (XPathResultClass self, GlibString string) => self -> IO string
 xPathResultGetStringValue self
   = (propagateGError $
        \ errorPtr_ ->
diff --git a/Graphics/UI/Gtk/WebKit/Download.chs b/Graphics/UI/Gtk/WebKit/Download.chs
--- a/Graphics/UI/Gtk/WebKit/Download.chs
+++ b/Graphics/UI/Gtk/WebKit/Download.chs
@@ -5,7 +5,7 @@
 --  Author 		:  Cjacker Huang
 --  Copyright   :  (c) 2009 Cjacker Huang <jzhuang@redflag-linux.com>
 --  Copyright   :  (c) 2010 Andy Stewart <lazycat.manatee@gmail.com>
--- 
+--
 --  This library is free software; you can redistribute it and/or
 --  modify it under the terms of the GNU Lesser General Public
 --  License as published by the Free Software Foundation; either
@@ -21,7 +21,7 @@
 -- Stability   : provisional
 -- Portability : portable (depends on GHC)
 --
--- Object used to communicate with the application when downloading 
+-- Object used to communicate with the application when downloading
 -----------------------------------------------------------------------------
 
 module Graphics.UI.Gtk.WebKit.Download (
@@ -79,7 +79,7 @@
 import System.Glib.FFI
 import System.Glib.UTFString
 import System.Glib.GList
-import System.Glib.GError 
+import System.Glib.GError
 import System.Glib.Attributes
 import System.Glib.Properties
 import Graphics.UI.Gtk.Gdk.Events
@@ -105,7 +105,7 @@
 --
 -- Object used to communicate with the application when downloading.
 downloadNew :: NetworkRequestClass request => request -> IO Download
-downloadNew nr = 
+downloadNew nr =
     wrapNewGObject mkDownload $ {#call download_new#} (toNetworkRequest nr)
 
 -- | Initiates the 'Download'.
@@ -127,14 +127,14 @@
 
 -- | Retrieves the URI from 'Download' which is being downloaded.
 downloadGetUri::
-    DownloadClass self => self
- -> IO (Maybe String) -- ^ the uri or @Nothing@ in case of failed
-downloadGetUri dl = 
+    (DownloadClass self, GlibString string) => self
+ -> IO (Maybe string) -- ^ the uri or @Nothing@ in case of failed
+downloadGetUri dl =
     {#call download_get_uri#} (toDownload dl)
-    >>= maybePeek peekCString
+    >>= maybePeek peekUTFString
 
 -- | Retrieves the 'NetworkRequest' that backs the download process.
-downloadGetNetworkRequest :: 
+downloadGetNetworkRequest ::
     DownloadClass self => self
  -> IO NetworkRequest
 downloadGetNetworkRequest dl =
@@ -146,39 +146,39 @@
 -- * Since 1.1.16
 downloadGetNetworkResponse ::
     DownloadClass self => self
- -> IO NetworkResponse    
-downloadGetNetworkResponse dl = 
+ -> IO NetworkResponse
+downloadGetNetworkResponse dl =
     makeNewGObject mkNetworkResponse $ {#call download_get_network_response#} (toDownload dl)
 #endif
 
 -- | Retrieves the filename that was suggested by the server,
 -- or the one derived from the URI.
-downloadGetSuggestedFilename :: 
-    DownloadClass self => self
- -> IO (Maybe String) -- ^ the suggested filename or @Nothing@ in case of failed
+downloadGetSuggestedFilename ::
+    (DownloadClass self, GlibString string) => self
+ -> IO (Maybe string) -- ^ the suggested filename or @Nothing@ in case of failed
 downloadGetSuggestedFilename dl =
-    {#call download_get_suggested_filename#} (toDownload dl) >>= maybePeek peekCString
+    {#call download_get_suggested_filename#} (toDownload dl) >>= maybePeek peekUTFString
 
 -- | Obtains the URI to which the downloaded file will be written.
 --
--- It is set by Application before call 'downloadStart' 
-downloadGetDestinationUri :: 
-    DownloadClass self => self
- -> IO (Maybe String)
+-- It is set by Application before call 'downloadStart'
+downloadGetDestinationUri ::
+    (DownloadClass self, GlibString string) => self
+ -> IO (Maybe string)
 downloadGetDestinationUri dl =
-    {#call download_get_destination_uri#} (toDownload dl) >>= maybePeek peekCString
+    {#call download_get_destination_uri#} (toDownload dl) >>= maybePeek peekUTFString
 
 -- | Defines the URI that should be used to save the downloaded file to.
-downloadSetDestinationUri :: 
-    DownloadClass self => self
- -> String  -- ^ @destination_uri@ - the destination URI
+downloadSetDestinationUri ::
+    (DownloadClass self, GlibString string) => self
+ -> string  -- ^ @destination_uri@ - the destination URI
  -> IO()
 downloadSetDestinationUri dl dest =
-    withCString dest $ \destPtr ->
+    withUTFString dest $ \destPtr ->
         {#call download_set_destination_uri#} (toDownload dl) destPtr
 
 -- |Determines the current progress of the 'Download'
-downloadGetProgress :: 
+downloadGetProgress ::
     DownloadClass self => self
  -> IO Double -- ^ a 'Double' ranging from 0.0 to 1.0
 downloadGetProgress dl =
@@ -198,27 +198,27 @@
 -- |Returns the excepted total size of the download.
 --
 -- This is expected because the server may provide incorrect or missing
--- Content-Length. 
+-- Content-Length.
 --
 -- Notice that this may grow over time.
-downloadGetTotalSize :: 
+downloadGetTotalSize ::
     DownloadClass self => self
  -> IO Int -- ^ the expected total size of the downloaded file.
 downloadGetTotalSize dl =
     liftM fromIntegral $ {#call download_get_total_size#} (toDownload dl)
 
 -- | Returns the current already downleaded size
-downloadGetCurrentSize :: 
+downloadGetCurrentSize ::
     DownloadClass self => self
  -> IO Int -- ^ the already downloaded size.
 downloadGetCurrentSize dl =
     liftM fromIntegral $ {#call download_get_current_size#} (toDownload dl)
 
 -- | Obtains the current status of the 'Download' as 'DownloadStatus'
-downloadGetStatus :: 
+downloadGetStatus ::
     DownloadClass self => self
  -> IO DownloadStatus -- ^ the current 'DownloadStatus'
-downloadGetStatus dl = 
+downloadGetStatus dl =
     liftM (toEnum . fromIntegral) $ {#call download_get_status#} (toDownload dl)
 
 -- * Attibutes
@@ -226,9 +226,9 @@
 -- | The length of the data already downloaded
 --
 -- Default value: 0
--- 
--- * Since 1.1.2 
 --
+-- * Since 1.1.2
+--
 currentSize :: DownloadClass self => ReadAttr self Int
 currentSize = readAttr downloadGetCurrentSize
 
@@ -237,14 +237,14 @@
 -- Default value: \"\"
 --
 -- * Since 1.1.2
-destinationUri :: DownloadClass self => Attr self (Maybe String) 
+destinationUri :: (DownloadClass self, GlibString string) => Attr self (Maybe string)
 destinationUri = newAttrFromMaybeStringProperty "destination-uri"
 
 -- | The NetworkRequest instance associated with the download.
 --
 -- * Since 1.1.2
 networkRequest :: DownloadClass self => Attr self NetworkRequest
-networkRequest = 
+networkRequest =
   newAttrFromObjectProperty "network-request"
   {#call pure webkit_network_request_get_type#}
 
@@ -253,14 +253,14 @@
 --
 -- * Since 1.1.16
 networkResponse :: DownloadClass self => Attr self NetworkResponse
-networkResponse = 
+networkResponse =
   newAttrFromObjectProperty "network-response"
   {#call pure webkit_network_response_get_type#}
 #endif
 
--- | Determines the current progress of the download. 
--- Notice that, although the progress changes are reported as soon as possible, 
--- the emission of the notify signal for this property is throttled, for the benefit of download managers. 
+-- | Determines the current progress of the download.
+-- Notice that, although the progress changes are reported as soon as possible,
+-- the emission of the notify signal for this property is throttled, for the benefit of download managers.
 -- If you care about every update, use 'Download' : currentSize.
 --
 -- Allowed values: [0,1]
@@ -284,7 +284,7 @@
 -- Default value: \"\"
 --
 -- * Since 1.1.2
-suggestedFilename :: DownloadClass self => ReadAttr self (Maybe String)
+suggestedFilename :: (DownloadClass self, GlibString string) => ReadAttr self (Maybe string)
 suggestedFilename = readAttr downloadGetSuggestedFilename
 
 -- | The total size of the file
@@ -297,14 +297,14 @@
 
 -- * Signals
 
--- | Emitted when download is interrupted either by user action or by network errors, 
+-- | Emitted when download is interrupted either by user action or by network errors,
 -- errorDetail will take any value of 'DownloadError'.
 --
--- 'download':    the object on which the signal is emitted                  
--- 'errorCode':   the corresponding error code                               
--- 'errorDetail': detailed error code for the error, see 'DownloadError' 
--- 'reason':       a string describing the error                              
---                                                                          
+-- 'download':    the object on which the signal is emitted
+-- 'errorCode':   the corresponding error code
+-- 'errorDetail': detailed error code for the error, see 'DownloadError'
+-- 'reason':       a string describing the error
+--
 -- Since 1.1.2
-downloadError :: DownloadClass self => Signal self (Int -> Int -> String -> IO Bool)
-downloadError = Signal (connect_INT_INT_STRING__BOOL "error")
+downloadError :: (DownloadClass self, GlibString string) => Signal self (Int -> Int -> string -> IO Bool)
+downloadError = Signal (connect_INT_INT_GLIBSTRING__BOOL "error")
diff --git a/Graphics/UI/Gtk/WebKit/NetworkRequest.chs b/Graphics/UI/Gtk/WebKit/NetworkRequest.chs
--- a/Graphics/UI/Gtk/WebKit/NetworkRequest.chs
+++ b/Graphics/UI/Gtk/WebKit/NetworkRequest.chs
@@ -65,10 +65,11 @@
 -- It is used whenever WebKit wants to provide information
 -- about a request that will be sent, or has been sent.
 networkRequestNew ::
-    String  -- ^ @uri@ - the uri of the request
+    GlibString string
+ => string  -- ^ @uri@ - the uri of the request
  -> IO NetworkRequest
 networkRequestNew uri =
-    withCString uri $ \uriPtr ->
+    withUTFString uri $ \uriPtr ->
       wrapNewGObject mkNetworkRequest $
         {#call network_request_new#} uriPtr
 
@@ -76,11 +77,12 @@
 -- | Set the URI of 'NetworkRequest'.
 --
 networkRequestSetUri ::
-    NetworkRequestClass self => self
- -> String  -- ^ @uri@ - the uri will be set to the request.
+    GlibString string
+ => NetworkRequestClass self => self
+ -> string  -- ^ @uri@ - the uri will be set to the request.
  -> IO()
 networkRequestSetUri networkrequest uri =
-    withCString uri $ \uriPtr ->
+    withUTFString uri $ \uriPtr ->
       {#call network_request_set_uri#}
         (toNetworkRequest networkrequest)
         uriPtr
@@ -88,9 +90,10 @@
 
 -- | Return the uri of 'NetworkRequest'.
 networkRequestGetUri ::
-    NetworkRequestClass self => self
- -> IO (Maybe String) -- ^ the URI or @Nothing@ in case failed.
+    GlibString string
+ => NetworkRequestClass self => self
+ -> IO (Maybe string) -- ^ the URI or @Nothing@ in case failed.
 networkRequestGetUri networkrequest =
     {#call network_request_get_uri#}
       (toNetworkRequest networkrequest) >>=
-      maybePeek peekCString
+      maybePeek peekUTFString
diff --git a/Graphics/UI/Gtk/WebKit/NetworkResponse.chs b/Graphics/UI/Gtk/WebKit/NetworkResponse.chs
--- a/Graphics/UI/Gtk/WebKit/NetworkResponse.chs
+++ b/Graphics/UI/Gtk/WebKit/NetworkResponse.chs
@@ -41,7 +41,7 @@
 import System.Glib.FFI
 import System.Glib.UTFString
 import System.Glib.GList
-import System.Glib.GError 
+import System.Glib.GError
 import Graphics.UI.Gtk.Gdk.Events
 
 {#import Graphics.UI.Gtk.Abstract.Object#}	(makeNewObject)
@@ -55,23 +55,23 @@
 
 -- | Set the URI of 'NetworkResponse'.
 --
-networkResponseSetUri :: 
-    NetworkResponseClass self => self 
- -> String  -- ^ @uri@ - the uri will be set to the response.
+networkResponseSetUri ::
+    (NetworkResponseClass self, GlibString string) => self
+ -> string  -- ^ @uri@ - the uri will be set to the response.
  -> IO()
 networkResponseSetUri response uri =
-    withCString uri $ \uriPtr -> 
-      {#call network_response_set_uri#} 
+    withUTFString uri $ \uriPtr ->
+      {#call network_response_set_uri#}
         (toNetworkResponse response)
         uriPtr
 
 
 -- | Return the uri of 'NetworkResponse'.
-networkResponseGetUri :: 
-    NetworkResponseClass self => self 
- -> IO (Maybe String) -- ^ the URI or @Nothing@ in case failed.
-networkResponseGetUri response = 
-    {#call network_response_get_uri#} 
-      (toNetworkResponse response) >>= 
-      maybePeek peekCString
+networkResponseGetUri ::
+    (NetworkResponseClass self, GlibString string) => self
+ -> IO (Maybe string) -- ^ the URI or @Nothing@ in case failed.
+networkResponseGetUri response =
+    {#call network_response_get_uri#}
+      (toNetworkResponse response) >>=
+      maybePeek peekUTFString
 
diff --git a/Graphics/UI/Gtk/WebKit/SecurityOrigin.chs b/Graphics/UI/Gtk/WebKit/SecurityOrigin.chs
--- a/Graphics/UI/Gtk/WebKit/SecurityOrigin.chs
+++ b/Graphics/UI/Gtk/WebKit/SecurityOrigin.chs
@@ -28,9 +28,9 @@
 -- | WebKitSecurityOrigin is a representation of a security domain defined by web sites. An origin
 -- consists of a host name, a protocol, and a port number. Web sites with the same security origin can
 -- access each other's resources for client-side scripting or database access.
--- 
+--
 -- Use 'webFrameGetSecurityOrigin' to get the security origin of a WebKitWebFrame.
--- 
+--
 -- Database quotas and usages are also defined per security origin. The cumulative disk usage of an
 -- origin's databases may be retrieved with 'securityOriginGetWebDatabaseUsage'. An origin's
 -- quota can be adjusted with 'securityOriginSetWebDatabaseQuota'.
@@ -39,7 +39,7 @@
   SecurityOrigin,
   SecurityOriginClass,
 
--- * Methods  
+-- * Methods
   securityOriginGetAllWebDatabases,
   securityOriginGetHost,
   securityOriginGetPort,
@@ -54,7 +54,7 @@
 import System.Glib.FFI
 import System.Glib.UTFString
 import System.Glib.GList
-import System.Glib.GError 
+import System.Glib.GError
 import Graphics.UI.Gtk.Gdk.Events
 
 {#import Graphics.UI.Gtk.Abstract.Object#}	(makeNewObject)
@@ -68,7 +68,7 @@
 -- | Returns the frame's security origin.
 securityOriginGetAllWebDatabases ::
    SecurityOriginClass self => self
- -> IO [WebDatabase]   
+ -> IO [WebDatabase]
 securityOriginGetAllWebDatabases so = do
   glist <- {#call security_origin_get_all_web_databases#} (toSecurityOrigin so)
   databasePtr <- fromGList glist
@@ -76,10 +76,10 @@
 
 -- | Returns the hostname for the security origin.
 securityOriginGetHost ::
-   SecurityOriginClass self => self
- -> IO String
+   (SecurityOriginClass self, GlibString string) => self
+ -> IO string
 securityOriginGetHost so =
-  {#call security_origin_get_host#} (toSecurityOrigin so) >>= peekCString
+  {#call security_origin_get_host#} (toSecurityOrigin so) >>= peekUTFString
 
 -- | Returns the port for the security origin.
 securityOriginGetPort ::
@@ -90,10 +90,10 @@
 
 -- | Returns the protocol for the security origin.
 securityOriginGetProtocol ::
-   SecurityOriginClass self => self
- -> IO String
+   (SecurityOriginClass self, GlibString string) => self
+ -> IO string
 securityOriginGetProtocol so =
-  {#call security_origin_get_protocol#} (toSecurityOrigin so) >>= peekCString
+  {#call security_origin_get_protocol#} (toSecurityOrigin so) >>= peekUTFString
 
 -- | Returns the quota for Web Database storage of the security origin in bytes.
 securityOriginGetWebDatabaseQuota ::
@@ -101,14 +101,14 @@
  -> IO Int
 securityOriginGetWebDatabaseQuota so =
     liftM fromIntegral $ {#call security_origin_get_web_database_quota#} (toSecurityOrigin so)
-  
+
 -- | Returns the usage for Web Database storage of the security origin in bytes.
 securityOriginGetWebDatabaseUsage ::
    SecurityOriginClass self => self
  -> IO Int
 securityOriginGetWebDatabaseUsage so =
     liftM fromIntegral $ {#call security_origin_get_web_database_usage#} (toSecurityOrigin so)
-  
+
 -- | Adjust the quota for Web Database storage of the security origin
 securityOriginSetWebDatabaseQuota ::
    SecurityOriginClass self => self
diff --git a/Graphics/UI/Gtk/WebKit/Signals.chs b/Graphics/UI/Gtk/WebKit/Signals.chs
--- a/Graphics/UI/Gtk/WebKit/Signals.chs
+++ b/Graphics/UI/Gtk/WebKit/Signals.chs
@@ -28,7 +28,7 @@
 -- The object system in the second version of GTK is based on GObject from
 -- GLIB. This base class is rather primitive in that it only implements
 -- ref and unref methods (and others that are not interesting to us). If
--- the marshall list mentions OBJECT it refers to an instance of this 
+-- the marshall list mentions OBJECT it refers to an instance of this
 -- GObject which is automatically wrapped with a ref and unref call.
 -- Structures which are not derived from GObject have to be passed as
 -- BOXED which gives the signal connect function a possibility to do the
@@ -42,26 +42,27 @@
 
   connect_PTR_PTR__NONE,
   connect_OBJECT__BOOL,
-  connect_OBJECT_STRING_BOXED__BOOL,
+  connect_OBJECT_GLIBSTRING_BOXED__BOOL,
   connect_OBJECT__PTR,
-  connect_INT_INT_STRING__BOOL,
-  connect_STRING_STRING_INT_STRING__BOOL,
-  connect_OBJECT_STRING__BOOL,
-  connect_OBJECT_STRING_STRING__BOOL,
+  connect_INT_INT_GLIBSTRING__BOOL,
+  connect_GLIBSTRING_GLIBSTRING_INT_GLIBSTRING__BOOL,
+  connect_OBJECT_GLIBSTRING__BOOL,
+  connect_OBJECT_GLIBSTRING_GLIBSTRING__BOOL,
+  connect_OBJECT_OBJECT__BOOL,
   connect_OBJECT_OBJECT_OBJECT_OBJECT__BOOL,
-  connect_OBJECT_OBJECT_STRING_OBJECT__BOOL,
+  connect_OBJECT_OBJECT_GLIBSTRING_OBJECT__BOOL,
   connect_OBJECT_OBJECT_OBJECT_OBJECT__NONE,
   connect_OBJECT_OBJECT_MOBJECT_MOBJECT__NONE,
   connect_ENUM_INT__BOOL,
   connect_NONE__BOOL,
   connect_NONE__NONE,
-  connect_MSTRING_MSTRING__NONE,
-  connect_OBJECT_STRING__NONE,
+  connect_MGLIBSTRING_MGLIBSTRING__NONE,
+  connect_OBJECT_GLIBSTRING__NONE,
   connect_OBJECT_OBJECT__NONE,
-  connect_STRING_STRING__NONE,
+  connect_GLIBSTRING_GLIBSTRING__NONE,
   connect_OBJECT__NONE,
   connect_INT__NONE,
-  connect_STRING__NONE,
+  connect_GLIBSTRING__NONE,
   
   ) where
 
@@ -69,9 +70,10 @@
 
 import System.Glib.FFI
 import System.Glib.UTFString   (peekUTFString,maybePeekUTFString)
+import qualified System.Glib.UTFString as Glib
 import System.Glib.GError      (failOnGError)
 {#import System.Glib.Signals#}
-{#import System.Glib.GObject#} 
+{#import System.Glib.GObject#}
 import Graphics.UI.GtkInternals
 
 
@@ -108,13 +110,13 @@
           makeNewGObject (GObject, objectUnrefFromMainloop) (return obj1) >>= \obj1' ->
           user (unsafeCastGObject obj1')
 
-connect_OBJECT_STRING_BOXED__BOOL :: 
-  (GObjectClass a', GObjectClass obj) => SignalName ->
+connect_OBJECT_GLIBSTRING_BOXED__BOOL :: 
+  (GObjectClass a', Glib.GlibString b', GObjectClass obj) => SignalName ->
   (Ptr c' -> IO c) -> 
   ConnectAfter -> obj ->
-  (a' -> String -> c -> IO Bool) ->
+  (a' -> b' -> c -> IO Bool) ->
   IO (ConnectId obj)
-connect_OBJECT_STRING_BOXED__BOOL signal boxedPre3 after obj user =
+connect_OBJECT_GLIBSTRING_BOXED__BOOL signal boxedPre3 after obj user =
   connectGeneric signal after obj action
   where action :: Ptr GObject -> Ptr GObject -> CString -> Ptr () -> IO Bool
         action _ obj1 str2 box3 =
@@ -138,12 +140,12 @@
           makeNewGObject (GObject, objectUnrefFromMainloop) (return obj1) >>= \obj1' ->
           user (unsafeCastGObject obj1')
 
-connect_INT_INT_STRING__BOOL :: 
-  GObjectClass obj => SignalName ->
+connect_INT_INT_GLIBSTRING__BOOL :: 
+  (Glib.GlibString c', GObjectClass obj) => SignalName ->
   ConnectAfter -> obj ->
-  (Int -> Int -> String -> IO Bool) ->
+  (Int -> Int -> c' -> IO Bool) ->
   IO (ConnectId obj)
-connect_INT_INT_STRING__BOOL signal after obj user =
+connect_INT_INT_GLIBSTRING__BOOL signal after obj user =
   connectGeneric signal after obj action
   where action :: Ptr GObject -> Int -> Int -> CString -> IO Bool
         action _ int1 int2 str3 =
@@ -151,12 +153,12 @@
           peekUTFString str3 >>= \str3' ->
           user int1 int2 str3'
 
-connect_STRING_STRING_INT_STRING__BOOL :: 
-  GObjectClass obj => SignalName ->
+connect_GLIBSTRING_GLIBSTRING_INT_GLIBSTRING__BOOL :: 
+  (Glib.GlibString a', Glib.GlibString b', Glib.GlibString d', GObjectClass obj) => SignalName ->
   ConnectAfter -> obj ->
-  (String -> String -> Int -> String -> IO Bool) ->
+  (a' -> b' -> Int -> d' -> IO Bool) ->
   IO (ConnectId obj)
-connect_STRING_STRING_INT_STRING__BOOL signal after obj user =
+connect_GLIBSTRING_GLIBSTRING_INT_GLIBSTRING__BOOL signal after obj user =
   connectGeneric signal after obj action
   where action :: Ptr GObject -> CString -> CString -> Int -> CString -> IO Bool
         action _ str1 str2 int3 str4 =
@@ -166,12 +168,12 @@
           peekUTFString str1 >>= \str1' ->
           user str1' str2' int3 str4'
 
-connect_OBJECT_STRING__BOOL :: 
-  (GObjectClass a', GObjectClass obj) => SignalName ->
+connect_OBJECT_GLIBSTRING__BOOL :: 
+  (GObjectClass a', Glib.GlibString b', GObjectClass obj) => SignalName ->
   ConnectAfter -> obj ->
-  (a' -> String -> IO Bool) ->
+  (a' -> b' -> IO Bool) ->
   IO (ConnectId obj)
-connect_OBJECT_STRING__BOOL signal after obj user =
+connect_OBJECT_GLIBSTRING__BOOL signal after obj user =
   connectGeneric signal after obj action
   where action :: Ptr GObject -> Ptr GObject -> CString -> IO Bool
         action _ obj1 str2 =
@@ -180,12 +182,12 @@
           makeNewGObject (GObject, objectUnrefFromMainloop) (return obj1) >>= \obj1' ->
           user (unsafeCastGObject obj1') str2'
 
-connect_OBJECT_STRING_STRING__BOOL :: 
-  (GObjectClass a', GObjectClass obj) => SignalName ->
+connect_OBJECT_GLIBSTRING_GLIBSTRING__BOOL :: 
+  (GObjectClass a', Glib.GlibString b', Glib.GlibString c', GObjectClass obj) => SignalName ->
   ConnectAfter -> obj ->
-  (a' -> String -> String -> IO Bool) ->
+  (a' -> b' -> c' -> IO Bool) ->
   IO (ConnectId obj)
-connect_OBJECT_STRING_STRING__BOOL signal after obj user =
+connect_OBJECT_GLIBSTRING_GLIBSTRING__BOOL signal after obj user =
   connectGeneric signal after obj action
   where action :: Ptr GObject -> Ptr GObject -> CString -> CString -> IO Bool
         action _ obj1 str2 str3 =
@@ -195,6 +197,20 @@
           makeNewGObject (GObject, objectUnrefFromMainloop) (return obj1) >>= \obj1' ->
           user (unsafeCastGObject obj1') str2' str3'
 
+connect_OBJECT_OBJECT__BOOL :: 
+  (GObjectClass a', GObjectClass b', GObjectClass obj) => SignalName ->
+  ConnectAfter -> obj ->
+  (a' -> b' -> IO Bool) ->
+  IO (ConnectId obj)
+connect_OBJECT_OBJECT__BOOL signal after obj user =
+  connectGeneric signal after obj action
+  where action :: Ptr GObject -> Ptr GObject -> Ptr GObject -> IO Bool
+        action _ obj1 obj2 =
+          failOnGError $
+          makeNewGObject (GObject, objectUnrefFromMainloop) (return obj2) >>= \obj2' ->
+          makeNewGObject (GObject, objectUnrefFromMainloop) (return obj1) >>= \obj1' ->
+          user (unsafeCastGObject obj1') (unsafeCastGObject obj2')
+
 connect_OBJECT_OBJECT_OBJECT_OBJECT__BOOL :: 
   (GObjectClass a', GObjectClass b', GObjectClass c', GObjectClass d', GObjectClass obj) => SignalName ->
   ConnectAfter -> obj ->
@@ -211,12 +227,12 @@
           makeNewGObject (GObject, objectUnrefFromMainloop) (return obj1) >>= \obj1' ->
           user (unsafeCastGObject obj1') (unsafeCastGObject obj2') (unsafeCastGObject obj3') (unsafeCastGObject obj4')
 
-connect_OBJECT_OBJECT_STRING_OBJECT__BOOL :: 
-  (GObjectClass a', GObjectClass b', GObjectClass d', GObjectClass obj) => SignalName ->
+connect_OBJECT_OBJECT_GLIBSTRING_OBJECT__BOOL :: 
+  (GObjectClass a', GObjectClass b', Glib.GlibString c', GObjectClass d', GObjectClass obj) => SignalName ->
   ConnectAfter -> obj ->
-  (a' -> b' -> String -> d' -> IO Bool) ->
+  (a' -> b' -> c' -> d' -> IO Bool) ->
   IO (ConnectId obj)
-connect_OBJECT_OBJECT_STRING_OBJECT__BOOL signal after obj user =
+connect_OBJECT_OBJECT_GLIBSTRING_OBJECT__BOOL signal after obj user =
   connectGeneric signal after obj action
   where action :: Ptr GObject -> Ptr GObject -> Ptr GObject -> CString -> Ptr GObject -> IO Bool
         action _ obj1 obj2 str3 obj4 =
@@ -295,12 +311,12 @@
           failOnGError $
           user
 
-connect_MSTRING_MSTRING__NONE :: 
-  GObjectClass obj => SignalName ->
+connect_MGLIBSTRING_MGLIBSTRING__NONE :: 
+  (Glib.GlibString a', Glib.GlibString b', GObjectClass obj) => SignalName ->
   ConnectAfter -> obj ->
-  (Maybe String -> Maybe String -> IO ()) ->
+  (Maybe a' -> Maybe b' -> IO ()) ->
   IO (ConnectId obj)
-connect_MSTRING_MSTRING__NONE signal after obj user =
+connect_MGLIBSTRING_MGLIBSTRING__NONE signal after obj user =
   connectGeneric signal after obj action
   where action :: Ptr GObject -> CString -> CString -> IO ()
         action _ str1 str2 =
@@ -309,12 +325,12 @@
           maybePeekUTFString str1 >>= \str1' ->
           user str1' str2'
 
-connect_OBJECT_STRING__NONE :: 
-  (GObjectClass a', GObjectClass obj) => SignalName ->
+connect_OBJECT_GLIBSTRING__NONE :: 
+  (GObjectClass a', Glib.GlibString b', GObjectClass obj) => SignalName ->
   ConnectAfter -> obj ->
-  (a' -> String -> IO ()) ->
+  (a' -> b' -> IO ()) ->
   IO (ConnectId obj)
-connect_OBJECT_STRING__NONE signal after obj user =
+connect_OBJECT_GLIBSTRING__NONE signal after obj user =
   connectGeneric signal after obj action
   where action :: Ptr GObject -> Ptr GObject -> CString -> IO ()
         action _ obj1 str2 =
@@ -337,12 +353,12 @@
           makeNewGObject (GObject, objectUnrefFromMainloop) (return obj1) >>= \obj1' ->
           user (unsafeCastGObject obj1') (unsafeCastGObject obj2')
 
-connect_STRING_STRING__NONE :: 
-  GObjectClass obj => SignalName ->
+connect_GLIBSTRING_GLIBSTRING__NONE :: 
+  (Glib.GlibString a', Glib.GlibString b', GObjectClass obj) => SignalName ->
   ConnectAfter -> obj ->
-  (String -> String -> IO ()) ->
+  (a' -> b' -> IO ()) ->
   IO (ConnectId obj)
-connect_STRING_STRING__NONE signal after obj user =
+connect_GLIBSTRING_GLIBSTRING__NONE signal after obj user =
   connectGeneric signal after obj action
   where action :: Ptr GObject -> CString -> CString -> IO ()
         action _ str1 str2 =
@@ -376,12 +392,12 @@
           failOnGError $
           user int1
 
-connect_STRING__NONE :: 
-  GObjectClass obj => SignalName ->
+connect_GLIBSTRING__NONE :: 
+  (Glib.GlibString a', GObjectClass obj) => SignalName ->
   ConnectAfter -> obj ->
-  (String -> IO ()) ->
+  (a' -> IO ()) ->
   IO (ConnectId obj)
-connect_STRING__NONE signal after obj user =
+connect_GLIBSTRING__NONE signal after obj user =
   connectGeneric signal after obj action
   where action :: Ptr GObject -> CString -> IO ()
         action _ str1 =
diff --git a/Graphics/UI/Gtk/WebKit/WebDataSource.chs b/Graphics/UI/Gtk/WebKit/WebDataSource.chs
--- a/Graphics/UI/Gtk/WebKit/WebDataSource.chs
+++ b/Graphics/UI/Gtk/WebKit/WebDataSource.chs
@@ -22,7 +22,7 @@
 --
 -- Note
 --
--- Function `webkit_web_data_source_get_data` haven't binding, 
+-- Function `webkit_web_data_source_get_data` haven't binding,
 -- no idea how to handle `GString`
 --
 -- Access to the WebKit Web DataSource
@@ -48,7 +48,7 @@
 -- * Constructors
   webDataSourceNew,
 
--- * Methods  
+-- * Methods
   webDataSourceGetData,
   webDataSourceGetEncoding,
   webDataSourceGetInitialRequest,
@@ -60,13 +60,14 @@
   webDataSourceIsLoading,
 ) where
 
-import Control.Monad		(liftM)
+import Control.Monad            (liftM)
+import Data.ByteString          (ByteString)
 
 import System.Glib.FFI
 import System.Glib.UTFString
 import System.Glib.GList
 import System.Glib.GString
-import System.Glib.GError 
+import System.Glib.GError
 import Graphics.UI.Gtk.Gdk.Events
 
 {#import Graphics.UI.Gtk.Abstract.Object#}	(makeNewObject)
@@ -75,32 +76,32 @@
 
 {#context lib="webkit" prefix ="webkit"#}
 
--- | Creates a new 'WebDataSource' instance. 
+-- | Creates a new 'WebDataSource' instance.
 -- The URL of the 'WebDataSource' will be set to "about:blank".
 webDataSourceNew :: IO WebDataSource
-webDataSourceNew = 
-    wrapNewGObject mkWebDataSource $ {#call web_data_source_new#} 
+webDataSourceNew =
+    wrapNewGObject mkWebDataSource $ {#call web_data_source_new#}
 
 -- | Returns the raw data that represents the the frame's content. The data will be incomplete until the
 -- data has finished loading. Returns 'Nothing' if the web frame hasn't loaded any data. Use
 -- @webkitWebDataSourceIsLoading@ to test if data source is in the process of loading.
 webDataSourceGetData :: WebDataSourceClass self => self
-                     -> IO (Maybe String)
+                     -> IO (Maybe ByteString)
 webDataSourceGetData ds = do
   gstr <- {#call webkit_web_data_source_get_data #}
                  (toWebDataSource ds)
-  readGString gstr
+  readGStringByteString gstr
 
 -- | Returns the text encoding name as set in the 'WebView', or if not, the text encoding of the response.
 webDataSourceGetEncoding ::
-   WebDataSourceClass self => self
- -> IO String
-webDataSourceGetEncoding ds = 
-  {#call web_data_source_get_encoding#} (toWebDataSource ds) >>= peekCString
-  
--- | Returns a reference to the original request that was used to load the web content. 
+   (WebDataSourceClass self, GlibString string) => self
+ -> IO string
+webDataSourceGetEncoding ds =
+  {#call web_data_source_get_encoding#} (toWebDataSource ds) >>= peekUTFString
+
+-- | Returns a reference to the original request that was used to load the web content.
 -- The NetworkRequest returned by this method is the
--- request prior to the "committed" load state. 
+-- request prior to the "committed" load state.
 -- See 'webDataSourceGetRequest' for getting the "committed" request.
 webDataSourceGetInitialRequest ::
    WebDataSourceClass self => self
@@ -111,12 +112,12 @@
 -- | Returns the main resource of the data_source
 webDataSourceGetMainResource ::
    WebDataSourceClass self => self
- -> IO WebResource   
+ -> IO WebResource
 webDataSourceGetMainResource ds =
   makeNewGObject mkWebResource $ {#call web_data_source_get_main_resource#} (toWebDataSource ds)
-  
--- | Returns a NetworkRequest that was used to create this 'WebDataSource'. 
--- The NetworkRequest returned by this method is the request that was "committed", 
+
+-- | Returns a NetworkRequest that was used to create this 'WebDataSource'.
+-- The NetworkRequest returned by this method is the request that was "committed",
 -- and hence, different from the request you get from the 'webDataSourceGetInitialRequest' method.
 webDataSourceGetRequest ::
    WebDataSourceClass self => self
@@ -127,21 +128,21 @@
 -- | Gives you a List of 'WebResource' objects that compose the 'WebView' to which this 'WebDataSource' is attached.
 webDataSourceGetSubresources ::
    WebDataSourceClass self => self
- -> IO [WebResource]   
+ -> IO [WebResource]
 webDataSourceGetSubresources ds = do
   glist <- {#call web_data_source_get_subresources#} (toWebDataSource ds)
   resourcePtr <- fromGList glist
   mapM (makeNewGObject mkWebResource . return) resourcePtr
 
--- | Return the unreachable URI of data_source. 
--- The 'dataSource' will have an unreachable URL 
--- if it was created using 'WebFrame''s  
+-- | Return the unreachable URI of data_source.
+-- The 'dataSource' will have an unreachable URL
+-- if it was created using 'WebFrame''s
 -- 'webFrameLoadAlternateHtmlString' method.
 webDataSourceGetUnreachableUri ::
-   WebDataSourceClass self => self
- -> IO String
+   (WebDataSourceClass self, GlibString string) => self
+ -> IO string
 webDataSourceGetUnreachableUri ds =
-  {#call web_data_source_get_unreachable_uri#} (toWebDataSource ds) >>= peekCString
+  {#call web_data_source_get_unreachable_uri#} (toWebDataSource ds) >>= peekUTFString
 
 -- | Returns the 'WebFrame' that represents this data source
 webDataSourceGetWebFrame ::
diff --git a/Graphics/UI/Gtk/WebKit/WebDatabase.chs b/Graphics/UI/Gtk/WebKit/WebDatabase.chs
--- a/Graphics/UI/Gtk/WebKit/WebDatabase.chs
+++ b/Graphics/UI/Gtk/WebKit/WebDatabase.chs
@@ -28,19 +28,19 @@
 -- | WebKitWebDatabase is a representation of a Web Database database. The proposed Web Database standard
 -- introduces support for SQL databases that web sites can create and access on a local computer
 -- through JavaScript.
--- 
+--
 -- To get access to all databases defined by a security origin, use
 -- 'securityOriginGetDatabases' Each database has a canonical name, as well as a user-friendly
 -- display name.
--- 
+--
 -- WebKit uses SQLite to create and access the local SQL databases. The location of a WebKitWebDatabase
 -- can be accessed wth 'webDatabaseGetFilename' You can configure the location of all
 -- databases with 'setDatabaseDirectoryPath'.
--- 
+--
 -- For each database the web site can define an estimated size which can be accessed with
 -- 'webDatabaseGetExpectedSize' The current size of the database in bytes is returned by
 -- 'webDatabaseGetSize'.
--- 
+--
 -- For more information refer to the Web Database specification proposal at
 -- http://dev.w3.org/html5/webdatabase
 
@@ -48,7 +48,7 @@
   WebDatabase,
   WebDatabaseClass,
 
--- * Methods  
+-- * Methods
   webDatabaseGetDisplayName,
   webDatabaseGetExpectedSize,
   webDatabaseGetFilename,
@@ -63,7 +63,7 @@
 import System.Glib.FFI
 import System.Glib.UTFString
 import System.Glib.GList
-import System.Glib.GError 
+import System.Glib.GError
 import Graphics.UI.Gtk.Gdk.Events
 
 {#import Graphics.UI.Gtk.Abstract.Object#}	(makeNewObject)
@@ -74,47 +74,47 @@
 
 -- | Returns the name of the 'WebDatabase' as seen by the user.
 webDatabaseGetDisplayName ::
-   WebDatabaseClass self => self
- -> IO String
+   (WebDatabaseClass self, GlibString string) => self
+ -> IO string
 webDatabaseGetDisplayName wd =
-  {#call web_database_get_display_name#} (toWebDatabase wd) >>= peekCString
-  
+  {#call web_database_get_display_name#} (toWebDatabase wd) >>= peekUTFString
+
 -- | Returns the expected size of the Database in bytes as defined by the web author. The Web Database standard allows web authors to
 -- specify an expected size of the database to optimize the user experience.
-webDatabaseGetExpectedSize ::  
+webDatabaseGetExpectedSize ::
    WebDatabaseClass self => self
- -> IO Int  
+ -> IO Int
 webDatabaseGetExpectedSize wd =
     liftM fromIntegral $ {#call web_database_get_expected_size#} (toWebDatabase wd)
 
 -- | Returns the absolute filename to the WebKitWebDatabase file on disk.
 webDatabaseGetFilename ::
-   WebDatabaseClass self => self
- -> IO String
-webDatabaseGetFilename wd = 
-  {#call web_database_get_filename#} (toWebDatabase wd) >>= peekCString
+   (WebDatabaseClass self, GlibString string) => self
+ -> IO string
+webDatabaseGetFilename wd =
+  {#call web_database_get_filename#} (toWebDatabase wd) >>= peekUTFString
 
 -- | Returns the canonical name of the 'WebDatabase'.
 webDatabaseGetName ::
-   WebDatabaseClass self => self
- -> IO String
-webDatabaseGetName wd = 
-  {#call web_database_get_name#} (toWebDatabase wd) >>= peekCString
+   (WebDatabaseClass self, GlibString string) => self
+ -> IO string
+webDatabaseGetName wd =
+  {#call web_database_get_name#} (toWebDatabase wd) >>= peekUTFString
 
 -- | Returns the security origin of the WebKitWebDatabase.
-webDatabaseGetSecurityOrigin :: 
+webDatabaseGetSecurityOrigin ::
    WebDatabaseClass self => self
- -> IO SecurityOrigin   
+ -> IO SecurityOrigin
 webDatabaseGetSecurityOrigin wd =
   makeNewGObject mkSecurityOrigin $ {#call web_database_get_security_origin#} (toWebDatabase wd)
 
--- | Returns the actual size of the 'WebDatabase' space on disk in bytes.  
+-- | Returns the actual size of the 'WebDatabase' space on disk in bytes.
 webDatabaseGetSize ::
-   WebDatabaseClass self => self  
+   WebDatabaseClass self => self
  -> IO Int
-webDatabaseGetSize wd = 
+webDatabaseGetSize wd =
     liftM fromIntegral $ {#call web_database_get_size#} (toWebDatabase wd)
-  
+
 -- | Removes the 'WebDatabase' from its security origin and destroys all data stored in the database.
 webDatabaseRemove ::
    WebDatabaseClass self => self
diff --git a/Graphics/UI/Gtk/WebKit/WebFrame.chs b/Graphics/UI/Gtk/WebKit/WebFrame.chs
--- a/Graphics/UI/Gtk/WebKit/WebFrame.chs
+++ b/Graphics/UI/Gtk/WebKit/WebFrame.chs
@@ -5,7 +5,7 @@
 --  Author      :  Cjacker Huang
 --  Copyright   :  (c) 2009 Cjacker Huang <jzhuang@redflag-linux.com>
 --  Copyright   :  (c) 2010 Andy Stewart <lazycat.manatee@gmail.com>
--- 
+--
 --  This library is free software; you can redistribute it and/or
 --  modify it under the terms of the GNU Lesser General Public
 --  License as published by the Free Software Foundation; either
@@ -24,7 +24,7 @@
 -- The content of a 'WebView'
 --
 -- Note:
--- Functon `webkit_web_frame_get_global_context` can't binding now, 
+-- Functon `webkit_web_frame_get_global_context` can't binding now,
 -- Because it need `JSGlobalContextRef` exist in JavaScriptCore.
 --
 -- Function `webkit_web_frame_print_full` can't binding now,
@@ -72,12 +72,13 @@
   webFramePrint,
 ) where
 
-import Control.Monad		(liftM)
+import Control.Monad            (liftM)
+import Data.ByteString          (ByteString, useAsCString)
 
 import System.Glib.FFI
 import System.Glib.UTFString
 import System.Glib.GList
-import System.Glib.GError 
+import System.Glib.GError
 import Graphics.UI.Gtk.Gdk.Events
 import Graphics.UI.Gtk.General.Enums
 
@@ -98,209 +99,233 @@
 -- | Create a new 'WebFrame' instance with the given @webview@.
 --
 -- A 'WebFrame' contains the content of one URI.
-webFrameNew :: 
+webFrameNew ::
     WebViewClass webview => webview  -- ^ @webview@ - the given webview
  -> IO WebFrame
-webFrameNew webview =  
+webFrameNew webview =
     wrapNewGObject mkWebFrame $ {#call web_frame_new#} (toWebView webview)
 
 -- | Return the 'WebView' that manages the given 'WebFrame'.
-webFrameGetWebView :: 
+webFrameGetWebView ::
     WebFrameClass self => self
  -> IO WebView
-webFrameGetWebView webframe = 
+webFrameGetWebView webframe =
     makeNewObject mkWebView $ liftM castPtr $ {#call web_frame_get_web_view#} (toWebFrame webframe)
 
 -- | Return the name of the given 'WebFrame'.
-webFrameGetName :: 
-    WebFrameClass self => self
- -> IO (Maybe String) -- ^ the name string or @Nothing@ in case failed.
-webFrameGetName webframe = 
-    {#call web_frame_get_name#} (toWebFrame webframe) >>= maybePeek peekCString
+webFrameGetName ::
+    (WebFrameClass self, GlibString string) => self
+ -> IO (Maybe string) -- ^ the name string or @Nothing@ in case failed.
+webFrameGetName webframe =
+    {#call web_frame_get_name#} (toWebFrame webframe) >>= maybePeek peekUTFString
 
 #if WEBKIT_CHECK_VERSION (1,1,18)
 -- | Returns a WebKitNetworkResponse object representing the response that was given to the request for
--- the given frame, or 'Nothing' if the frame was not created by a load. 
+-- the given frame, or 'Nothing' if the frame was not created by a load.
 --
 -- * Since 1.1.18
 webFrameGetNetworkResponse :: WebFrameClass self => self -> IO (Maybe NetworkResponse)
 webFrameGetNetworkResponse frame =
-    maybeNull (makeNewGObject mkNetworkResponse) $ 
+    maybeNull (makeNewGObject mkNetworkResponse) $
    {#call webkit_web_frame_get_network_response#} (toWebFrame frame)
 #endif
 
 -- | Return the title of the given 'WebFrame'.
-webFrameGetTitle :: 
-    WebFrameClass self => self 
- -> IO (Maybe String) -- ^ the title string or @Nothing@ in case failed.
-webFrameGetTitle webframe = 
-    {#call web_frame_get_title#} (toWebFrame webframe) >>= maybePeek peekCString
+webFrameGetTitle ::
+    (WebFrameClass self, GlibString string) => self
+ -> IO (Maybe string) -- ^ the title string or @Nothing@ in case failed.
+webFrameGetTitle webframe =
+    {#call web_frame_get_title#} (toWebFrame webframe) >>= maybePeek peekUTFString
 
 -- | Return the URI of the given 'WebFrame'.	
-webFrameGetUri :: 
-    WebFrameClass self => self 
- -> IO (Maybe String) -- ^ the URI string or @Nothing@ in case failed.
-webFrameGetUri webframe = 
-    {#call web_frame_get_uri#} (toWebFrame webframe) >>= maybePeek peekCString
+webFrameGetUri ::
+    (WebFrameClass self, GlibString string) => self
+ -> IO (Maybe string) -- ^ the URI string or @Nothing@ in case failed.
+webFrameGetUri webframe =
+    {#call web_frame_get_uri#} (toWebFrame webframe) >>= maybePeek peekUTFString
 
 -- | Return the 'WebFrame''s parent frame if it has one,
 -- Otherwise return Nothing.
-webFrameGetParent :: 
-    WebFrameClass self => self 
+webFrameGetParent ::
+    WebFrameClass self => self
  -> IO (Maybe WebFrame) -- ^ a 'WebFrame' or @Nothing@ in case failed.
-webFrameGetParent webframe = 
+webFrameGetParent webframe =
     maybeNull (makeNewGObject mkWebFrame) $ {#call web_frame_get_parent#} (toWebFrame webframe)
 
 -- | Determines the current status of the load.
 --
 -- frame :   a WebKitWebView
---                          
+--
 -- * Since 1.1.7
 webFrameGetLoadStatus ::
     WebFrameClass self => self
- -> IO LoadStatus    
+ -> IO LoadStatus
 webFrameGetLoadStatus ls =
     liftM (toEnum . fromIntegral) $ {#call web_frame_get_load_status#} (toWebFrame ls)
 
 -- | Request loading of the specified URI string.
-webFrameLoadUri :: 
-    WebFrameClass self => self 
- -> String -- ^ @uri@ - an URI string. 
+webFrameLoadUri ::
+    (WebFrameClass self, GlibString string) => self
+ -> string -- ^ @uri@ - an URI string.
  -> IO ()
-webFrameLoadUri webframe uri = 
-    withCString uri $ \uriPtr -> {#call web_frame_load_uri#}
+webFrameLoadUri webframe uri =
+    withUTFString uri $ \uriPtr -> {#call web_frame_load_uri#}
     (toWebFrame webframe)
     uriPtr
 
--- | Requests loading of the given @content@ 
+-- | Requests loading of the given @content@
+-- with the specified @mime_type@ and @base_uri@.
+--
+-- If @mime_type@ is @Nothing@, \"text/html\" is assumed.
+--
+-- If want control over the encoding use `webFrameLoadByteString`
+webFrameLoadString ::
+    (WebFrameClass self, GlibString string) => self
+ -> string -- ^ @content@ - the content string to be loaded.
+ -> (Maybe string) -- ^ @mime_type@ - the MIME type or @Nothing@.
+ -> string -- ^ @base_uri@ - the base URI for relative locations.
+ -> IO()
+webFrameLoadString webframe content mimetype baseuri =
+    withUTFString content  $ \contentPtr ->
+    maybeWith withUTFString mimetype $ \mimetypePtr ->
+    withUTFString baseuri  $ \baseuriPtr ->
+        {#call web_frame_load_string#}
+          (toWebFrame webframe)
+          contentPtr
+          mimetypePtr
+          nullPtr
+          baseuriPtr
+
+-- | Requests loading of the given @content@
 -- with the specified @mime_type@, @encoding@ and @base_uri@.
--- 
+--
 -- If @mime_type@ is @Nothing@, \"text/html\" is assumed.
 --
 -- If @encoding@ is @Nothing@, \"UTF-8\" is assumed.
-webFrameLoadString :: 
-    WebFrameClass self => self 
- -> String -- ^ @content@ - the content string to be loaded.
- -> (Maybe String) -- ^ @mime_type@ - the MIME type or @Nothing@. 
- -> (Maybe String) -- ^ @encoding@ - the encoding or @Nothing@.
- -> String -- ^ @base_uri@ - the base URI for relative locations.
+webFrameLoadByteString ::
+    (WebFrameClass self, GlibString string) => self
+ -> ByteString -- ^ @content@ - the content string to be loaded.
+ -> (Maybe string) -- ^ @mime_type@ - the MIME type or @Nothing@.
+ -> (Maybe string) -- ^ @encoding@ - the encoding or @Nothing@.
+ -> string -- ^ @base_uri@ - the base URI for relative locations.
  -> IO()
-webFrameLoadString webframe content mimetype encoding baseuri = 
-    withCString content  $ \contentPtr ->
-    maybeWith withCString mimetype $ \mimetypePtr ->
-    maybeWith withCString encoding $ \encodingPtr ->
-    withCString baseuri  $ \baseuriPtr ->
-        {#call web_frame_load_string#} 
-          (toWebFrame webframe) 
-          contentPtr 
-          mimetypePtr 
-          encodingPtr 
+webFrameLoadByteString webframe content mimetype encoding baseuri =
+    useAsCString content  $ \contentPtr ->
+    maybeWith withUTFString mimetype $ \mimetypePtr ->
+    maybeWith withUTFString encoding $ \encodingPtr ->
+    withUTFString baseuri  $ \baseuriPtr ->
+        {#call web_frame_load_string#}
+          (toWebFrame webframe)
+          contentPtr
+          mimetypePtr
+          encodingPtr
           baseuriPtr
 
+
 -- |Request loading of an alternate content for a URL that is unreachable.
 --
 -- Using this method will preserve the back-forward list.
--- The URI passed in @base_uri@ has to be an absolute URI.		
-webFrameLoadAlternateString :: 
-    WebFrameClass self => self 
- -> String  -- ^ @content@ - the alternate content to display 
+-- The URI passed in @base_uri@ has to be an absolute URI.
+webFrameLoadAlternateString ::
+    (WebFrameClass self, GlibString string) => self
+ -> string  -- ^ @content@ - the alternate content to display
             -- as the main page of the frame
- -> String  -- ^ @base_uri@ - the base URI for relative locations. 
- -> String  -- ^ @unreachable_url@ - the URL for the alternate page content.
+ -> string  -- ^ @base_uri@ - the base URI for relative locations.
+ -> string  -- ^ @unreachable_url@ - the URL for the alternate page content.
  -> IO()
-webFrameLoadAlternateString webframe content baseurl unreachableurl = 
-    withCString content  $ \contentPtr ->
-    withCString baseurl  $ \baseurlPtr ->
-    withCString unreachableurl  $ \unreachableurlPtr ->
+webFrameLoadAlternateString webframe content baseurl unreachableurl =
+    withUTFString content  $ \contentPtr ->
+    withUTFString baseurl  $ \baseurlPtr ->
+    withUTFString unreachableurl  $ \unreachableurlPtr ->
         {#call web_frame_load_alternate_string#}
-          (toWebFrame webframe) 
+          (toWebFrame webframe)
           contentPtr
           baseurlPtr
           unreachableurlPtr
 
 -- | Connects to a given URI by initiating an asynchronous client request.
 --
--- Creates a provisional data source that will transition to a committed data source once any data has been received. 
--- Use 'webFrameStopLoading' to stop the load. 
+-- Creates a provisional data source that will transition to a committed data source once any data has been received.
+-- Use 'webFrameStopLoading' to stop the load.
 -- This function is typically invoked on the main frame.
-webFrameLoadRequest :: 
+webFrameLoadRequest ::
    (WebFrameClass self, NetworkRequestClass requ) => self -> requ
  -> IO ()
 webFrameLoadRequest webframe request =
-  {#call web_frame_load_request#} (toWebFrame webframe) (toNetworkRequest request) 
+  {#call web_frame_load_request#} (toWebFrame webframe) (toNetworkRequest request)
 
 -- | Stops and pending loads on the given data source and those of its children.
-webFrameStopLoading :: 
+webFrameStopLoading ::
     WebFrameClass self => self
  -> IO()
-webFrameStopLoading webframe = 
+webFrameStopLoading webframe =
     {#call web_frame_stop_loading#} (toWebFrame webframe)
 
 -- |Reloads the initial request.
-webFrameReload :: 
+webFrameReload ::
     WebFrameClass self => self
  -> IO()
-webFrameReload webframe = 
+webFrameReload webframe =
     {#call web_frame_reload#} (toWebFrame webframe)
 
--- |Return the 'WebFrame' associated with the given name 
+-- |Return the 'WebFrame' associated with the given name
 -- or @Nothing@ in case none if found
--- 
--- For pre-defined names, return the given webframe if name is 
-webFrameFindFrame:: 
-    WebFrameClass self => self 
- -> String  -- ^ @name@ - the name of the frame to be found.
+--
+-- For pre-defined names, return the given webframe if name is
+webFrameFindFrame::
+    (WebFrameClass self, GlibString string) => self
+ -> string  -- ^ @name@ - the name of the frame to be found.
  -> IO (Maybe WebFrame)
-webFrameFindFrame webframe name = 
-    withCString name $ \namePtr ->
-	maybeNull (makeNewGObject mkWebFrame) $ 
+webFrameFindFrame webframe name =
+    withUTFString name $ \namePtr ->
+	maybeNull (makeNewGObject mkWebFrame) $
           {#call web_frame_find_frame#} (toWebFrame webframe) namePtr
 
 -- | Returns the committed data source.
-webFrameGetDataSource :: 
+webFrameGetDataSource ::
    WebFrameClass self => self
  -> IO WebDataSource
 webFrameGetDataSource webframe =
   makeNewGObject mkWebDataSource $ {#call web_frame_get_data_source#} (toWebFrame webframe)
 
 -- | Return the policy of horizontal scrollbar.
-webFrameGetHorizontalScrollbarPolicy :: 
+webFrameGetHorizontalScrollbarPolicy ::
    WebFrameClass self => self
- -> IO PolicyType   
-webFrameGetHorizontalScrollbarPolicy webframe = 
+ -> IO PolicyType
+webFrameGetHorizontalScrollbarPolicy webframe =
     liftM (toEnum.fromIntegral) $
     {#call web_frame_get_horizontal_scrollbar_policy#} (toWebFrame webframe)
-  
+
 -- | Return the policy of vertical scrollbar.
-webFrameGetVerticalScrollbarPolicy :: 
+webFrameGetVerticalScrollbarPolicy ::
    WebFrameClass self => self
- -> IO PolicyType   
-webFrameGetVerticalScrollbarPolicy webframe = 
+ -> IO PolicyType
+webFrameGetVerticalScrollbarPolicy webframe =
     liftM (toEnum.fromIntegral) $
     {#call web_frame_get_vertical_scrollbar_policy#} (toWebFrame webframe)
 
--- | You use the 'webFrameLoadRequest' method to initiate a request that creates a provisional data source. 
--- The provisional data source will transition to a committed data source once any data has been received. 
+-- | You use the 'webFrameLoadRequest' method to initiate a request that creates a provisional data source.
+-- The provisional data source will transition to a committed data source once any data has been received.
 -- Use 'webFrameGetDataSource' to get the committed data source.
-webFrameGetProvisionalDataSource :: 
+webFrameGetProvisionalDataSource ::
    WebFrameClass self => self
- -> IO WebDataSource   
+ -> IO WebDataSource
 webFrameGetProvisionalDataSource webframe =
   makeNewGObject mkWebDataSource $ {#call web_frame_get_provisional_data_source#} (toWebFrame webframe)
 
 -- | Returns the frame's security origin.
 webFrameGetSecurityOrigin ::
    WebFrameClass self => self
- -> IO SecurityOrigin   
-webFrameGetSecurityOrigin webframe = 
+ -> IO SecurityOrigin
+webFrameGetSecurityOrigin webframe =
   makeNewGObject mkSecurityOrigin $ {#call web_frame_get_security_origin#} (toWebFrame webframe)
 
 -- |Prints the given 'WebFrame'.
 --
--- by presenting a print dialog to the user. 
-webFramePrint:: 
+-- by presenting a print dialog to the user.
+webFramePrint::
     WebFrameClass self => self
  -> IO()
-webFramePrint webframe = 
+webFramePrint webframe =
   {#call web_frame_print#} (toWebFrame webframe)
 
diff --git a/Graphics/UI/Gtk/WebKit/WebHistoryItem.chs b/Graphics/UI/Gtk/WebKit/WebHistoryItem.chs
--- a/Graphics/UI/Gtk/WebKit/WebHistoryItem.chs
+++ b/Graphics/UI/Gtk/WebKit/WebHistoryItem.chs
@@ -62,7 +62,7 @@
 import System.Glib.FFI
 import System.Glib.UTFString
 import System.Glib.GList
-import System.Glib.GError 
+import System.Glib.GError
 import System.Glib.Attributes
 import Graphics.UI.Gtk.Gdk.Events
 
@@ -79,123 +79,124 @@
 
 -- | Create a new 'WebHistoryItem' instance.
 --
--- A history item consists out of a title and a uri, 
+-- A history item consists out of a title and a uri,
 -- it can be part of the WebBackForwardList and the global history.
 --
 -- The global history is used for coloring the links of visited sites.
--- 'WebHistoryItem' constructed with 'webHistoryItemNew' are 
+-- 'WebHistoryItem' constructed with 'webHistoryItemNew' are
 -- automatically added to the global history.
 webHistoryItemNew :: IO WebHistoryItem
-webHistoryItemNew = 
+webHistoryItemNew =
     wrapNewGObject mkWebHistoryItem $ {#call web_history_item_new#}
 
 
 -- | Create a new 'WebHistoryItem' instance with the given @uri@ and @title@.
--- 
--- 'WebHistoryItem' constructed with 'webHistoryItemNewWithData' are 
+--
+-- 'WebHistoryItem' constructed with 'webHistoryItemNewWithData' are
 -- automatically added to the global history.
-webHistoryItemNewWithData :: 
-    String -- ^ @uri@ - the uri of the item
- -> String -- ^ @title@ - the title of the item
+webHistoryItemNewWithData ::
+    GlibString string
+ => string -- ^ @uri@ - the uri of the item
+ -> string -- ^ @title@ - the title of the item
  -> IO WebHistoryItem
-webHistoryItemNewWithData uri title = 
-    withCString uri $ \uriPtr ->
-    withCString title $ \titlePtr ->
+webHistoryItemNewWithData uri title =
+    withUTFString uri $ \uriPtr ->
+    withUTFString title $ \titlePtr ->
     wrapNewGObject mkWebHistoryItem $
-      {#call web_history_item_new_with_data#} 
-        uriPtr 
+      {#call web_history_item_new_with_data#}
+        uriPtr
         titlePtr
 
 
 -- | Return the title of 'WebHistoryItem'.
-webHistoryItemGetTitle :: 
-    WebHistoryItemClass self => self
- -> IO (Maybe String) -- ^ the title or @Nothing@ in case failed.
-webHistoryItemGetTitle webhistoryitem = 
-    {#call web_history_item_get_title#} 
-      (toWebHistoryItem webhistoryitem) >>= 
-      maybePeek peekCString
+webHistoryItemGetTitle ::
+    (WebHistoryItemClass self, GlibString string) => self
+ -> IO (Maybe string) -- ^ the title or @Nothing@ in case failed.
+webHistoryItemGetTitle webhistoryitem =
+    {#call web_history_item_get_title#}
+      (toWebHistoryItem webhistoryitem) >>=
+      maybePeek peekUTFString
 
 -- | Return the alternate title of WebHistoryItem.
-webHistoryItemGetAlternateTitle :: 
-    WebHistoryItemClass self => self 
- -> IO (Maybe String) -- ^ the alternate title or @Nothing@ in case failed.
-webHistoryItemGetAlternateTitle webhistoryitem = 
-    {#call web_history_item_get_alternate_title#} 
-      (toWebHistoryItem webhistoryitem) >>= 
-      maybePeek peekCString
+webHistoryItemGetAlternateTitle ::
+    (WebHistoryItemClass self, GlibString string) => self
+ -> IO (Maybe string) -- ^ the alternate title or @Nothing@ in case failed.
+webHistoryItemGetAlternateTitle webhistoryitem =
+    {#call web_history_item_get_alternate_title#}
+      (toWebHistoryItem webhistoryitem) >>=
+      maybePeek peekUTFString
 
 -- | Set an alternate title for WebHistoryItem.
-webHistoryItemSetAlternateTitle :: 
-    WebHistoryItemClass self => self 
- -> (Maybe String)  -- ^ @title@ - the alternate title for this history item.
+webHistoryItemSetAlternateTitle ::
+    (WebHistoryItemClass self, GlibString string) => self
+ -> (Maybe string)  -- ^ @title@ - the alternate title for this history item.
  -> IO()
 webHistoryItemSetAlternateTitle webhistoryitem title =
-    maybeWith withCString title $ \titlePtr -> 
-    {#call web_history_item_set_alternate_title#} 
+    maybeWith withUTFString title $ \titlePtr ->
+    {#call web_history_item_set_alternate_title#}
       (toWebHistoryItem webhistoryitem)
       titlePtr
 
 -- | Return the URI of WebHistoryItem.
-webHistoryItemGetUri :: 
-    WebHistoryItemClass self => self 
- -> IO (Maybe String) -- ^ the URI or @Nothing@ in case failed.
-webHistoryItemGetUri webhistoryitem = 
-    {#call web_history_item_get_uri#} 
-      (toWebHistoryItem webhistoryitem) >>= 
-      maybePeek peekCString
+webHistoryItemGetUri ::
+    (WebHistoryItemClass self, GlibString string) => self
+ -> IO (Maybe string) -- ^ the URI or @Nothing@ in case failed.
+webHistoryItemGetUri webhistoryitem =
+    {#call web_history_item_get_uri#}
+      (toWebHistoryItem webhistoryitem) >>=
+      maybePeek peekUTFString
 
 -- | Return the original URI of WebHistoryItem.
-webHistoryItemGetOriginalUri :: 
-    WebHistoryItemClass self => self 
- -> IO (Maybe String) -- ^ the URI or @Nothing@ in case failed
-webHistoryItemGetOriginalUri webhistoryitem = 
-    {#call web_history_item_get_original_uri#} 
-      (toWebHistoryItem webhistoryitem) >>= 
-      maybePeek peekCString
+webHistoryItemGetOriginalUri ::
+    (WebHistoryItemClass self, GlibString string) => self
+ -> IO (Maybe string) -- ^ the URI or @Nothing@ in case failed
+webHistoryItemGetOriginalUri webhistoryitem =
+    {#call web_history_item_get_original_uri#}
+      (toWebHistoryItem webhistoryitem) >>=
+      maybePeek peekUTFString
 
 -- | Return the last visited time of WebHistoryItem.
-webHistoryItemGetLastVisitedTime :: 
-    WebHistoryItemClass self => self 
+webHistoryItemGetLastVisitedTime ::
+    WebHistoryItemClass self => self
  -> IO Double  -- ^ the last visited time of this history item.
-webHistoryItemGetLastVisitedTime webhistoryitem = 
-    liftM realToFrac $ 
-      {#call web_history_item_get_last_visited_time#} 
+webHistoryItemGetLastVisitedTime webhistoryitem =
+    liftM realToFrac $
+      {#call web_history_item_get_last_visited_time#}
         (toWebHistoryItem webhistoryitem)
 
 #if WEBKIT_CHECK_VERSION (1,1,18)
 -- | Makes a copy of the item for use with other WebView objects.
 --
--- * Since 1.1.18    
+-- * Since 1.1.18
 webHistoryItemCopy :: WebHistoryItemClass self => self
  -> IO WebHistoryItem
 webHistoryItemCopy webhistoryitem =
-    makeNewGObject mkWebHistoryItem $ 
+    makeNewGObject mkWebHistoryItem $
     {#call webkit_web_history_item_copy#} (toWebHistoryItem webhistoryitem)
 #endif
 
 -- | The title of the 'WebHistoryItem'
 --
 -- Default value: @Nothing@
-webHistoryItemTitle :: (WebHistoryItemClass self) => ReadAttr self (Maybe String)
+webHistoryItemTitle :: (WebHistoryItemClass self, GlibString string) => ReadAttr self (Maybe string)
 webHistoryItemTitle = readAttr webHistoryItemGetTitle
 
 -- | The alternate title of the history item.
 --
 -- Default value: @Nothing@
-webHistoryItemAlternateTitle :: (WebHistoryItemClass self) => Attr self (Maybe String)
+webHistoryItemAlternateTitle :: (WebHistoryItemClass self, GlibString string) => Attr self (Maybe string)
 webHistoryItemAlternateTitle = newAttr webHistoryItemGetAlternateTitle webHistoryItemSetAlternateTitle
 
 -- | The URI of the history item.
 --
 -- Default value: @Nothing@
-webHistoryItemUri :: (WebHistoryItemClass self) => ReadAttr self (Maybe String)
+webHistoryItemUri :: (WebHistoryItemClass self, GlibString string) => ReadAttr self (Maybe string)
 webHistoryItemUri = readAttr webHistoryItemGetUri
 
 -- | The original URI of the history item.
 --
 -- Default value: @Nothing@
-webHistoryItemOriginalUri :: (WebHistoryItemClass self) => ReadAttr self (Maybe String)
+webHistoryItemOriginalUri :: (WebHistoryItemClass self, GlibString string) => ReadAttr self (Maybe string)
 webHistoryItemOriginalUri = readAttr webHistoryItemGetOriginalUri
 
 -- | The time at which the history item was last visited.
@@ -205,4 +206,4 @@
 -- Default value: 0
 webHistoryItemLastVisitedTime :: (WebHistoryItemClass self) => ReadAttr self Double
 webHistoryItemLastVisitedTime = readAttr webHistoryItemGetLastVisitedTime
- 
+
diff --git a/Graphics/UI/Gtk/WebKit/WebInspector.chs b/Graphics/UI/Gtk/WebKit/WebInspector.chs
--- a/Graphics/UI/Gtk/WebKit/WebInspector.chs
+++ b/Graphics/UI/Gtk/WebKit/WebInspector.chs
@@ -28,7 +28,7 @@
 -- | The WebKit Inspector is a graphical tool to inspect and change the content of a WebKitWebView. It
 -- also includes an interactive JavaScriptDebugger. Using this class one can get a 'Widget' which can
 -- be embedded into an application to show the inspector.
--- 
+--
 -- The inspector is available when the WebKitWebSettings of the WebKitWebView has set the
 -- 'enableDeveloperExtras' to true otherwise no inspector is available.
 
@@ -45,7 +45,7 @@
   webInspectorClose,
 #endif
 
--- * Attribute  
+-- * Attribute
   webInspectorInspectedUri,
   webInspectorJSProfilingEnable,
 #if WEBKIT_CHECK_VERSION (1,1,17)
@@ -67,7 +67,7 @@
 import System.Glib.FFI
 import System.Glib.UTFString
 import System.Glib.GList
-import System.Glib.GError 
+import System.Glib.GError
 import System.Glib.Attributes
 import System.Glib.Properties
 import Graphics.UI.Gtk.Gdk.Events
@@ -83,18 +83,18 @@
 
 ------------------
 -- |  Obtains the URI that is currently being inspected
-webInspectorGetInspectedUri :: 
-    WebInspectorClass self => self
- -> IO String
-webInspectorGetInspectedUri inspector = 
-    {#call web_inspector_get_inspected_uri#} (toWebInspector inspector) >>= peekCString
+webInspectorGetInspectedUri ::
+    (WebInspectorClass self, GlibString string) => self
+ -> IO string
+webInspectorGetInspectedUri inspector =
+    {#call web_inspector_get_inspected_uri#} (toWebInspector inspector) >>= peekUTFString
 
--- | Obtains the 'WebView' that is used to render the 'WebInspector'. 
--- 
+-- | Obtains the 'WebView' that is used to render the 'WebInspector'.
+--
 -- The 'WebView' instance is created by the application,
--- by handling the "inspect-web-view" signal. 
+-- by handling the "inspect-web-view" signal.
 -- This means that it may return @Nothing@ if the user hasn't inspected anything
-webInspectorGetWebView :: 
+webInspectorGetWebView ::
     WebInspectorClass self => self
  -> IO (Maybe WebView)
 webInspectorGetWebView inspector =
@@ -106,15 +106,15 @@
 -- | Causes the Web Inspector to inspect the node that is located at the given coordinates of the
 -- widget. The coordinates should be relative to the WebKitWebView widget, not to the scrollable
 -- content, and may be obtained from a 'Event' directly.
--- 
+--
 -- This means x, and y being zero doesn't guarantee you will hit the left-most top corner of the
 -- content, since the contents may have been scrolled.
--- 
+--
 -- * Since 1.1.17
 webInspectorInspectCoordinates :: WebInspectorClass self
-  => self  -- ^ @webInspector@ the WebKitWebInspector that will do the inspection 
-  -> Int  -- ^ @x@             the X coordinate of the node to be inspected       
-  -> Int  -- ^ @y@             the Y coordinate of the node to be inspected       
+  => self  -- ^ @webInspector@ the WebKitWebInspector that will do the inspection
+  -> Int  -- ^ @x@             the X coordinate of the node to be inspected
+  -> Int  -- ^ @y@             the Y coordinate of the node to be inspected
   -> IO ()
 webInspectorInspectCoordinates inspect x y =
   {#call web_inspector_inspect_coordinates#}
@@ -140,7 +140,7 @@
 -- * Attribute
 
 -- | The URI that is currently being inspected.
-webInspectorInspectedUri :: (WebInspectorClass self) => ReadAttr self String
+webInspectorInspectedUri :: (WebInspectorClass self, GlibString string) => ReadAttr self string
 webInspectorInspectedUri = readAttr webInspectorGetInspectedUri
 
 -- | This is enabling JavaScript profiling in the Inspector. This means that Console.profiles will return the profiles.
@@ -149,9 +149,9 @@
 
 #if WEBKIT_CHECK_VERSION (1,1,17)
 -- | This is enabling Timeline profiling in the Inspector.
--- 
+--
 -- Default value: 'False'
--- 
+--
 -- * Since 1.1.17
 webInspectorTimelineProfilingEnabled :: (WebInspectorClass self) => Attr self Bool
 webInspectorTimelineProfilingEnabled = newAttrFromBoolProperty "timeline-profiling-enabled"
@@ -159,7 +159,7 @@
 
 -- | The Web View that renders the Web Inspector itself.
 webInspectorWebView :: (WebInspectorClass self) => ReadAttr self WebView
-webInspectorWebView = 
+webInspectorWebView =
   readAttrFromObjectProperty "web-view"
   {#call pure webkit_web_view_get_type#}
 
@@ -173,33 +173,33 @@
 
 -- | Emitted when the inspector should appear in a separate window.
 --
--- return True if the signal has been handled                  
+-- return True if the signal has been handled
 detachWindow :: WebInspectorClass self => Signal self (IO Bool)
 detachWindow = Signal (connect_NONE__BOOL "detach_window")
 
--- | Emitted when the inspector window should be closed. 
+-- | Emitted when the inspector window should be closed.
 --
 -- return True if the signal is handled.
 closeWindow :: WebInspectorClass self => Signal self (IO Bool)
 closeWindow = Signal (connect_NONE__BOOL "close_window")
 
--- | Emitted when the inspector window should be displayed. 
+-- | Emitted when the inspector window should be displayed.
 -- Notice that the window must have been created already by handling 'inspectWebView'.
 --
--- return True if the signal has been handled                  
+-- return True if the signal has been handled
 showWindow :: WebInspectorClass self => Signal self (IO Bool)
 showWindow = Signal (connect_NONE__BOOL "show_window")
 
--- | Emitted when the inspection is done. You should release your references on the inspector at this time. 
+-- | Emitted when the inspection is done. You should release your references on the inspector at this time.
 -- The inspected 'WebView' may no longer exist when this signal is emitted.
 finished :: WebInspectorClass self => Signal self (IO ())
 finished = Signal (connect_NONE__NONE "finished")
 
--- | Emitted when the user activates the 'inspect' context menu item to inspect a web view. 
--- The application which is interested in the inspector should create a window, 
+-- | Emitted when the user activates the 'inspect' context menu item to inspect a web view.
+-- The application which is interested in the inspector should create a window,
 -- or otherwise add the 'WebView' it creates to an existing window.
 --
--- You don't need to handle the reference count of the 'WebView' instance you create; 
+-- You don't need to handle the reference count of the 'WebView' instance you create;
 -- the widget to which you add it will do that.
 inspectWebView :: WebInspectorClass self => Signal self (WebView -> IO WebView)
 inspectWebView = Signal (connect_OBJECT__OBJECTPTR "inspect_web_view")
diff --git a/Graphics/UI/Gtk/WebKit/WebNavigationAction.chs b/Graphics/UI/Gtk/WebKit/WebNavigationAction.chs
--- a/Graphics/UI/Gtk/WebKit/WebNavigationAction.chs
+++ b/Graphics/UI/Gtk/WebKit/WebNavigationAction.chs
@@ -85,10 +85,10 @@
 -- | Returns the URI that was originally requested.
 -- This may differ from the navigation target, for instance because of a redirect.
 webNavigationActionGetOriginalUri ::
-   WebNavigationActionClass self => self
- -> IO String
+   (WebNavigationActionClass self, GlibString string) => self
+ -> IO string
 webNavigationActionGetOriginalUri action =
-    {#call web_navigation_action_get_original_uri#} (toWebNavigationAction action) >>= peekCString
+    {#call web_navigation_action_get_original_uri#} (toWebNavigationAction action) >>= peekUTFString
 
 -- | Returns the reason why WebKit is requesting a navigation.
 webNavigationActionGetReason ::
@@ -99,19 +99,19 @@
 
 -- | Returns the target frame of the action.
 webNavigationActionGetTargetFrame ::
-   WebNavigationActionClass self => self
- -> IO String
+   (WebNavigationActionClass self, GlibString string) => self
+ -> IO string
 webNavigationActionGetTargetFrame action =
-    {#call web_navigation_action_get_target_frame#} (toWebNavigationAction action) >>= peekCString
+    {#call web_navigation_action_get_target_frame#} (toWebNavigationAction action) >>= peekUTFString
 
 -- | Sets the URI that was originally requested.
 -- This may differ from the navigation target, for instance because of a redirect.
 webNavigationActionSetOriginalUri ::
-   WebNavigationActionClass self => self
- -> String
+   (WebNavigationActionClass self, GlibString string) => self
+ -> string
  -> IO ()
 webNavigationActionSetOriginalUri action uri =
-    withCString uri $ \uriPtr ->
+    withUTFString uri $ \uriPtr ->
         {#call web_navigation_action_set_original_uri#}
         (toWebNavigationAction action)
         uriPtr
diff --git a/Graphics/UI/Gtk/WebKit/WebResource.chs b/Graphics/UI/Gtk/WebKit/WebResource.chs
--- a/Graphics/UI/Gtk/WebKit/WebResource.chs
+++ b/Graphics/UI/Gtk/WebKit/WebResource.chs
@@ -40,7 +40,7 @@
 -- * Constructors
   webResourceNew,
 
--- * Methods  
+-- * Methods
   webResourceGetData,
   webResourceGetEncoding,
   webResourceGetFrameName,
@@ -48,13 +48,14 @@
   webResourceGetUri,
 ) where
 
-import Control.Monad		(liftM)
+import Control.Monad            (liftM)
+import Data.ByteString          (ByteString, useAsCStringLen)
 
 import System.Glib.FFI
 import System.Glib.UTFString
 import System.Glib.GList
 import System.Glib.GString
-import System.Glib.GError 
+import System.Glib.GError
 import Graphics.UI.Gtk.Gdk.Events
 
 {#import Graphics.UI.Gtk.Abstract.Object#}	(makeNewObject)
@@ -63,49 +64,49 @@
 
 {#context lib="webkit" prefix ="webkit"#}
 
--- | Returns a new WebKitWebResource. 
--- The @encoding@ can be empty. 
+-- | Returns a new WebKitWebResource.
+-- The @encoding@ can be empty.
 -- The @frameName@ can be used if the resource represents contents of an
 -- entire HTML frame, otherwise pass empty.
-webResourceNew :: String -> Int -> String -> String -> String -> String -> IO WebResource
-webResourceNew resData size uri mimeType encoding frameName =
-   withCString resData $ \dataPtr -> 
-   withCString uri $ \uriPtr ->
-   withCString mimeType $ \mimePtr ->
-   withCString encoding $ \encodingPtr ->
-   withCString frameName $ \framePtr -> 
-   wrapNewGObject mkWebResource $ 
+webResourceNew :: GlibString string => ByteString -> string -> string -> string -> string -> IO WebResource
+webResourceNew resData uri mimeType encoding frameName =
+   useAsCStringLen resData $ \(dataPtr, size) ->
+   withUTFString uri $ \uriPtr ->
+   withUTFString mimeType $ \mimePtr ->
+   withUTFString encoding $ \encodingPtr ->
+   withUTFString frameName $ \framePtr ->
+   wrapNewGObject mkWebResource $
      {#call web_resource_new#} dataPtr (fromIntegral size) uriPtr mimePtr encodingPtr framePtr
 
 -- | Returns the data of the WebResource.
-webResourceGetData :: WebResourceClass self => self -> IO (Maybe String)
+webResourceGetData :: WebResourceClass self => self -> IO (Maybe ByteString)
 webResourceGetData wr =
-  {#call web_resource_get_data#} (toWebResource wr) >>= readGString
+  {#call web_resource_get_data#} (toWebResource wr) >>= readGStringByteString
 
 -- | Get encoding.
-webResourceGetEncoding :: 
-   WebResourceClass self => self
- -> IO (Maybe String)
+webResourceGetEncoding ::
+   (WebResourceClass self, GlibString string) => self
+ -> IO (Maybe string)
 webResourceGetEncoding wr =
-  {#call web_resource_get_encoding#} (toWebResource wr) >>= maybePeek peekCString
+  {#call web_resource_get_encoding#} (toWebResource wr) >>= maybePeek peekUTFString
 
 -- | Get frame name.
-webResourceGetFrameName :: 
-   WebResourceClass self => self
- -> IO (Maybe String)
+webResourceGetFrameName ::
+   (WebResourceClass self, GlibString string) => self
+ -> IO (Maybe string)
 webResourceGetFrameName wr =
-  {#call web_resource_get_frame_name#} (toWebResource wr) >>= maybePeek peekCString
+  {#call web_resource_get_frame_name#} (toWebResource wr) >>= maybePeek peekUTFString
 
 -- | Get mime type.
-webResourceGetMimeType :: 
-   WebResourceClass self => self
- -> IO (Maybe String)
+webResourceGetMimeType ::
+   (WebResourceClass self, GlibString string) => self
+ -> IO (Maybe string)
 webResourceGetMimeType wr =
-  {#call web_resource_get_mime_type#} (toWebResource wr) >>= maybePeek peekCString
+  {#call web_resource_get_mime_type#} (toWebResource wr) >>= maybePeek peekUTFString
 
 -- | Get uri.
-webResourceGetUri :: 
-   WebResourceClass self => self
- -> IO String
+webResourceGetUri ::
+   (WebResourceClass self, GlibString string) => self
+ -> IO string
 webResourceGetUri wr =
-  {#call web_resource_get_uri#} (toWebResource wr) >>= peekCString
+  {#call web_resource_get_uri#} (toWebResource wr) >>= peekUTFString
diff --git a/Graphics/UI/Gtk/WebKit/WebSettings.chs b/Graphics/UI/Gtk/WebKit/WebSettings.chs
--- a/Graphics/UI/Gtk/WebKit/WebSettings.chs
+++ b/Graphics/UI/Gtk/WebKit/WebSettings.chs
@@ -100,7 +100,7 @@
 import System.Glib.FFI
 import System.Glib.UTFString
 import System.Glib.GList
-import System.Glib.GError 
+import System.Glib.GError
 import System.Glib.Properties
 import System.Glib.Attributes
 import Graphics.UI.Gtk.Gdk.Events
@@ -117,28 +117,28 @@
 
 
 -- | Create a new 'WebSettings' instance.
--- 
+--
 -- A 'WebSettings' can be applied to a 'WebView'
--- to control the to be used text encoding, color, font size, 
+-- to control the to be used text encoding, color, font size,
 -- printing mode,script support, loading of images and various other things.
 webSettingsNew :: IO WebSettings
-webSettingsNew = 
+webSettingsNew =
     wrapNewGObject mkWebSettings $ {#call web_settings_new#}
 
 
 -- | Copy an existing 'WebSettings' instance.
-webSettingsCopy :: 
+webSettingsCopy ::
     WebSettingsClass self => self
  -> IO WebSettings
-webSettingsCopy websettings = 
+webSettingsCopy websettings =
     constructNewGObject mkWebSettings $ {#call web_settings_copy#} (toWebSettings websettings)
 
 -- | Return the User-Agent string currently used.
-webSettingsGetUserAgent :: 
-    WebSettingsClass self => self
- -> IO (Maybe String) -- ^ User-Agent string or @Nothing@ in case failed.
-webSettingsGetUserAgent websettings = 
-    {#call web_settings_get_user_agent#} (toWebSettings websettings) >>= maybePeek peekCString
+webSettingsGetUserAgent ::
+    (WebSettingsClass self, GlibString string) => self
+ -> IO (Maybe string) -- ^ User-Agent string or @Nothing@ in case failed.
+webSettingsGetUserAgent websettings =
+    {#call web_settings_get_user_agent#} (toWebSettings websettings) >>= maybePeek peekUTFString
 
 -- | Load images automatically
 --
@@ -155,21 +155,21 @@
 -- | The default Cursive font family used to display text
 --
 -- Default value "serif"
-webSettingsCursiveFontFamily :: (WebSettingsClass self) => Attr self String
+webSettingsCursiveFontFamily :: (WebSettingsClass self, GlibString string) => Attr self string
 webSettingsCursiveFontFamily = newAttrFromStringProperty "cursive-font-family"
 
 -- | The default encoding used to display text
 --
 -- Default value "iso-8859-1"
 
-webSettingsDefaultEncoding :: (WebSettingsClass self) => Attr self String
+webSettingsDefaultEncoding :: (WebSettingsClass self, GlibString string) => Attr self string
 webSettingsDefaultEncoding = newAttrFromStringProperty "default-encoding"
 
 -- | The default font family used to display text
 --
 -- Default value: "sans-serif"
 
-webSettingsDefaultFontFamily :: (WebSettingsClass self) => Attr self String
+webSettingsDefaultFontFamily :: (WebSettingsClass self, GlibString string) => Attr self string
 webSettingsDefaultFontFamily = newAttrFromStringProperty "default-font-family"
 
 -- | The default font size used to display text
@@ -182,7 +182,7 @@
 -- | The default font size used to display monospace text
 --
 -- Allowed values: >= 5
--- 
+--
 -- Default value: 10
 
 webSettingsDefaultMonospaceFontSize :: (WebSettingsClass self) => Attr self Int
@@ -205,7 +205,7 @@
 #if WEBKIT_CHECK_VERSION (1,1,16)
 -- | Whether to enable DOM paste. If set to 'True', document.execCommand("Paste") will correctly execute
 -- and paste content of the clipboard.
--- 
+--
 -- Default value: 'False'
 --
 -- * Since 1.1.16
@@ -256,7 +256,7 @@
 webSettingsEnforce96Dpi = newAttrFromBoolProperty "enforce-96-dpi"
 
 -- | The default Fantasy font family used to display text
-webSettingsFantasyFontFamily :: (WebSettingsClass self) => Attr self String
+webSettingsFantasyFontFamily :: (WebSettingsClass self, GlibString string) => Attr self string
 webSettingsFantasyFontFamily = newAttrFromStringProperty "fantasy-font-family"
 
 -- | Whether JavaScript can open popup windows automatically without user intervention.
@@ -264,7 +264,7 @@
 webSettingsJSCanOpenWindowAuto = newAttrFromBoolProperty "javascript-can-open-windows-automatically"
 
 -- | The minimum font size used to display text.
--- 
+--
 -- Allowed values: >=1
 --
 -- Default value: 5
@@ -281,9 +281,9 @@
 
 
 -- | The default font family used to display monospace text.
--- 
+--
 -- Default value: "monospace"
-webSettingsMonospaceFontFamily :: (WebSettingsClass self) => Attr self String
+webSettingsMonospaceFontFamily :: (WebSettingsClass self, GlibString string) => Attr self string
 webSettingsMonospaceFontFamily = newAttrFromStringProperty "monospace-font-family"
 
 -- | Whether background images should be printed
@@ -299,38 +299,38 @@
 webSettingsResizableTextAreas =  newAttrFromBoolProperty "resizable-text-areas"
 
 -- | The default Sans Serif font family used to display text
--- 
+--
 -- Default value "sans-serif"
-webSettingsSansFontFamily :: (WebSettingsClass self) => Attr self String
+webSettingsSansFontFamily :: (WebSettingsClass self, GlibString string) => Attr self string
 webSettingsSansFontFamily = newAttrFromStringProperty "sans-serif-font-family"
 
 
 -- | The default Serif font family used to display text
 --
 -- Default value: "serif"
-webSettingsSerifFontFamily :: (WebSettingsClass self) => Attr self String
+webSettingsSerifFontFamily :: (WebSettingsClass self, GlibString string) => Attr self string
 webSettingsSerifFontFamily = newAttrFromStringProperty "serif-font-family"
 
 
 -- | The languages to be used for spell checking, separated by commas
--- 
+--
 -- The locale string typically is in the form lang_COUNTRY,
--- where lang is an ISO-639 language code, and COUNTRY is an ISO-3166 country code. 
+-- where lang is an ISO-639 language code, and COUNTRY is an ISO-3166 country code.
 -- For instance, sv_FI for Swedish as written in Finland or pt_BR for Portuguese as written in Brazil.
 --
 -- If no value is specified then the value returned by gtk_get_default_language will be used.
 --
 -- Default value: @Nothing@
-webSettingsSpellCheckingLang :: (WebSettingsClass self) => Attr self (Maybe String)
+webSettingsSpellCheckingLang :: (WebSettingsClass self, GlibString string) => Attr self (Maybe string)
 webSettingsSpellCheckingLang = newAttrFromMaybeStringProperty "spell-checking-languages"
 
 #if WEBKIT_CHECK_VERSION (1,1,17)
 -- | Whether the tab key cycles through elements on the page.
--- 
+--
 -- If flag is 'True', pressing the tab key will focus the next element in the @webView@. If flag is 'False',
 -- the @webView@ will interpret tab key presses as normal key presses. If the selected element is
 -- editable, the tab key will cause the insertion of a tab character.
--- 
+--
 -- Default value: 'True'
 --
 -- * Since 1.1.17
@@ -343,9 +343,9 @@
 -- menu. Turning this off will make WebKitGTK+ not emit the populate-popup signal. Notice that the
 -- default button press event handler may still handle right clicks for other reasons, such as in-page
 -- context menus, or right-clicks that are handled by the page itself.
--- 
+--
 -- Default value: 'True'
--- 
+--
 -- * Since 1.1.18
 webSettingsEnableDefaultContextMenu :: (WebSettingsClass self) => Attr self Bool
 webSettingsEnableDefaultContextMenu = newAttrFromBoolProperty "enable-default-context-menu"
@@ -356,30 +356,30 @@
 -- memory-based traditional resource caches, its point is to make going back and forth between pages
 -- much faster. For details about the different types of caches and their purposes see:
 -- http://webkit.org/ blog/427/webkit-page-cache-i-the-basics/
--- 
+--
 -- Default value: 'False'
--- 
+--
 -- * Since 1.1.18
 webSettingsEnablePageCache :: (WebSettingsClass self) => Attr self Bool
 webSettingsEnablePageCache = newAttrFromBoolProperty "enable-page-cache"
 #endif
 
 -- | The User-Agent string used by WebKit
--- 
--- This will return a default User-Agent string if a custom string wasn't provided by the application. 
--- Setting this property to a NULL value or an empty string will result in 
+--
+-- This will return a default User-Agent string if a custom string wasn't provided by the application.
+-- Setting this property to a NULL value or an empty string will result in
 -- the User-Agent string being reset to the default value.
 --
 -- Default value: \"Mozilla/5.0 (X11; U; Linux x86_64; c) AppleWebKit/531.2+ (KHTML, like Gecko) Safari/531.2+\"
 
-webSettingsUserAgent :: (WebSettingsClass self) => Attr self String
+webSettingsUserAgent :: (WebSettingsClass self, GlibString string) => Attr self string
 webSettingsUserAgent = newAttrFromStringProperty "user-agent"
 
 -- | The URI of a stylesheet that is applied to every page.
 --
 -- Default value: @Nothing@
 
-webSettingsUserStylesheetUri :: (WebSettingsClass self) => Attr self (Maybe String)
+webSettingsUserStylesheetUri :: (WebSettingsClass self, GlibString string) => Attr self (Maybe string)
 webSettingsUserStylesheetUri = newAttrFromMaybeStringProperty "user-stylesheet-uri"
 
 -- | The value by which the zoom level is changed when zooming in or out
@@ -389,7 +389,7 @@
 -- Default value: 0.1
 webSettingsZoomStep :: (WebSettingsClass self) => Attr self Float
 webSettingsZoomStep = newAttrFromFloatProperty "zoom-step"
-                             
+
 -- | Enables the site-specific compatibility workarounds.
 --
 -- Default value: False
@@ -402,9 +402,9 @@
 -- Down arrow keys. For example, if an user presses the Right key, heuristics determine whether there
 -- is an element he might be trying to reach towards the right, and if there are multiple elements,
 -- which element he probably wants.
--- 
+--
 -- Default value: 'False'
--- 
+--
 -- * Since 1.1.23
 webSettingsEnableSpatialNavigation :: WebSettingsClass self => Attr self Bool
 webSettingsEnableSpatialNavigation = newAttrFromBoolProperty "enable-spatial-navigation"
diff --git a/Graphics/UI/Gtk/WebKit/WebView.chs b/Graphics/UI/Gtk/WebKit/WebView.chs
--- a/Graphics/UI/Gtk/WebKit/WebView.chs
+++ b/Graphics/UI/Gtk/WebKit/WebView.chs
@@ -261,7 +261,8 @@
   undo,
 ) where
 
-import Control.Monad		(liftM, (<=<))
+import Control.Monad            (liftM, (<=<))
+import Data.ByteString          (ByteString, useAsCString)
 
 import System.Glib.FFI
 import System.Glib.UTFString
@@ -330,7 +331,7 @@
 -- | Obtains the URI for the favicon for the given WebKitWebView, or 'Nothing' if there is none.
 --
 -- * Since 1.1.18
-webViewGetIconUri :: WebViewClass self => self -> IO (Maybe String)
+webViewGetIconUri :: (WebViewClass self, GlibString string) => self -> IO (Maybe string)
 webViewGetIconUri webview =
   {#call webkit_web_view_get_icon_uri #} (toWebView webview)
   >>= maybePeek peekUTFString
@@ -368,8 +369,8 @@
 
 #if WEBKIT_CHECK_VERSION(1,1,1)
 -- | Requests loading of the specified URI string in a 'WebView'
-webViewLoadUri :: WebViewClass self => self -> String -> IO ()
-webViewLoadUri webview url = withCString url $ {#call web_view_load_uri#} (toWebView webview)
+webViewLoadUri :: (WebViewClass self, GlibString string) => self -> string -> IO ()
+webViewLoadUri webview url = withUTFString url $ {#call web_view_load_uri#} (toWebView webview)
 #endif
 
 -- | Determine whether 'WebView' has a previous history item.
@@ -455,10 +456,10 @@
 
 #if WEBKIT_CHECK_VERSION (1,0,3)
 -- | Returns whether or not a @mimetype@ can be displayed using this view.
-webViewCanShowMimeType :: WebViewClass self => self
-    -> String  -- ^ @mimetype@ - a MIME type
+webViewCanShowMimeType :: (WebViewClass self, GlibString string) => self
+    -> string  -- ^ @mimetype@ - a MIME type
     -> IO Bool -- ^ True if the @mimetype@ can be displayed, otherwise False
-webViewCanShowMimeType webview mime = withCString mime $ liftM toBool . {#call web_view_can_show_mime_type#} (toWebView webview)
+webViewCanShowMimeType webview mime = withUTFString mime $ liftM toBool . {#call web_view_can_show_mime_type#} (toWebView webview)
 #endif
 
 -- | Returns whether the user is allowed to edit the document.
@@ -534,27 +535,46 @@
 
 -- | Loading the @content@ string as html. The URI passed in base_uri has to be an absolute URI.
 -- Deprecated since webkit v1.1.1, use 'webViewLoadString' instead.
-webViewLoadHtmlString :: WebViewClass self => self
-    -> String  -- ^ @content@ - the html string
-    -> String  -- ^ @base_uri@ - the base URI
+webViewLoadHtmlString :: (WebViewClass self, GlibString string) => self
+    -> string  -- ^ @content@ - the html string
+    -> string  -- ^ @base_uri@ - the base URI
     -> IO()
-webViewLoadHtmlString webview htmlstr url = withCString htmlstr $ \htmlPtr -> withCString url $ \urlPtr ->
+webViewLoadHtmlString webview htmlstr url = withUTFString htmlstr $ \htmlPtr -> withUTFString url $ \urlPtr ->
     {#call web_view_load_html_string#} (toWebView webview) htmlPtr urlPtr
 
+-- | Requests loading of the given @content@ with the specified @mime_type@ and @base_uri@.
+-- If @mime_type@ is @Nothing@, "text/html" is assumed.
+-- If want control over the encoding use `webViewLoadByteString`
+webViewLoadString :: (WebViewClass self, GlibString string) => self
+    -> string         -- ^ @content@ - the content string to be loaded.
+    -> (Maybe string) -- ^ @mime_type@ - the MIME type or @Nothing@.
+    -> string         -- ^ @base_uri@ - the base URI for relative locations.
+    -> IO ()
+webViewLoadString webview content mimetype baseuri =
+    withUTFString content $ \contentPtr ->
+    maybeWith withUTFString mimetype $ \mimetypePtr ->
+    withUTFString baseuri  $ \baseuriPtr ->
+        {#call web_view_load_string#}
+          (toWebView webview)
+          contentPtr
+          mimetypePtr
+          nullPtr
+          baseuriPtr
+
 -- | Requests loading of the given @content@ with the specified @mime_type@, @encoding@ and @base_uri@.
 -- If @mime_type@ is @Nothing@, "text/html" is assumed.
 -- If @encoding@ is @Nothing@, "UTF-8" is assumed.
-webViewLoadString :: WebViewClass self => self
-    -> String         -- ^ @content@ - the content string to be loaded.
-    -> (Maybe String) -- ^ @mime_type@ - the MIME type or @Nothing@.
-    -> (Maybe String) -- ^ @encoding@ - the encoding or @Nothing@.
-    -> String         -- ^ @base_uri@ - the base URI for relative locations.
+webViewLoadByteString :: (WebViewClass self, GlibString string) => self
+    -> ByteString         -- ^ @content@ - the content string to be loaded.
+    -> (Maybe string) -- ^ @mime_type@ - the MIME type or @Nothing@.
+    -> (Maybe string) -- ^ @encoding@ - the encoding or @Nothing@.
+    -> string         -- ^ @base_uri@ - the base URI for relative locations.
     -> IO ()
-webViewLoadString webview content mimetype encoding baseuri =
-    withCString content $ \contentPtr ->
-    maybeWith withCString mimetype $ \mimetypePtr ->
-    maybeWith withCString encoding $ \encodingPtr ->
-    withCString baseuri  $ \baseuriPtr ->
+webViewLoadByteString webview content mimetype encoding baseuri =
+    useAsCString content $ \contentPtr ->
+    maybeWith withUTFString mimetype $ \mimetypePtr ->
+    maybeWith withUTFString encoding $ \encodingPtr ->
+    withUTFString baseuri  $ \baseuriPtr ->
         {#call web_view_load_string#}
           (toWebView webview)
           contentPtr
@@ -564,11 +584,11 @@
 
 #if WEBKIT_CHECK_VERSION(1,1,4)
 -- | Returns the title of 'WebView' document, or Nothing in case of failure
-webViewGetTitle :: WebViewClass self => self -> IO (Maybe String)
+webViewGetTitle :: (WebViewClass self, GlibString string) => self -> IO (Maybe string)
 webViewGetTitle = maybePeek peekUTFString <=< {#call web_view_get_title#} . toWebView
 
 -- | Returns the current URI of the contents displayed by the 'WebView', or Nothing in case of failure
-webViewGetUri :: WebViewClass self => self -> IO (Maybe String)
+webViewGetUri :: (WebViewClass self, GlibString string) => self -> IO (Maybe string)
 webViewGetUri = maybePeek peekUTFString <=< {#call web_view_get_uri#} . toWebView
 #endif
 
@@ -594,14 +614,14 @@
 webViewZoomOut = {#call web_view_zoom_out#} . toWebView
 
 -- | Looks for a specified string inside 'WebView'
-webViewSearchText :: WebViewClass self => self
- -> String -- ^ @text@ - a string to look for
+webViewSearchText :: (WebViewClass self, GlibString string) => self
+ -> string -- ^ @text@ - a string to look for
  -> Bool -- ^ @case_sensitive@ - whether to respect the case of text
  -> Bool -- ^ @forward@ - whether to find forward or not
  -> Bool -- ^ @wrap@ - whether to continue looking at beginning after reaching the end
  -> IO Bool -- ^ True on success or False on failure
 webViewSearchText webview text case_sensitive forward wrap =
-    withCString text $ \textPtr ->
+    withUTFString text $ \textPtr ->
         liftM toBool $
           {#call web_view_search_text#}
             (toWebView webview)
@@ -611,12 +631,12 @@
             (fromBool wrap)
 
 -- | Attempts to highlight all occurances of string inside 'WebView'
-webViewMarkTextMatches :: WebViewClass self => self
- -> String -- ^ @string@ - a string to look for
+webViewMarkTextMatches :: (WebViewClass self, GlibString string) => self
+ -> string -- ^ @string@ - a string to look for
  -> Bool  -- ^ @case_sensitive@ - whether to respect the case of text
  -> Int  -- ^ @limit@ - the maximum number of strings to look for or 0 for all
  -> IO Int -- ^ the number of strings highlighted
-webViewMarkTextMatches webview text case_sensitive limit = withCString text $ \textPtr -> liftM fromIntegral $
+webViewMarkTextMatches webview text case_sensitive limit = withUTFString text $ \textPtr -> liftM fromIntegral $
     {#call web_view_mark_text_matches#} (toWebView webview) textPtr (fromBool case_sensitive) (fromIntegral limit)
 
 -- | Move the cursor in view as described by step and count.
@@ -636,10 +656,10 @@
     {#call web_view_set_highlight_text_matches#} (toWebView webview) (fromBool highlight)
 
 -- | Execute the script specified by @script@
-webViewExecuteScript :: WebViewClass self => self
-    -> String  -- ^ @script@ - script to be executed
+webViewExecuteScript :: (WebViewClass self, GlibString string) => self
+    -> string  -- ^ @script@ - script to be executed
     -> IO()
-webViewExecuteScript webview script = withCString script $ {#call web_view_execute_script#} (toWebView webview)
+webViewExecuteScript webview script = withUTFString script $ {#call web_view_execute_script#} (toWebView webview)
 
 -- | Determines whether can cuts the current selection inside 'WebView' to the clipboard
 webViewCanCutClipboard :: WebViewClass self => self -> IO Bool
@@ -700,24 +720,24 @@
 #endif
 
 -- | Returns the default encoding of the 'WebView'
-webViewGetEncoding :: WebViewClass self => self
-    -> IO (Maybe String) -- ^ the default encoding or @Nothing@ in case of failed
+webViewGetEncoding :: (WebViewClass self, GlibString string) => self
+    -> IO (Maybe string) -- ^ the default encoding or @Nothing@ in case of failed
 webViewGetEncoding webview = {#call web_view_get_encoding#} (toWebView webview) >>= maybePeek peekUTFString
 
 #if WEBKIT_CHECK_VERSION(1,1,1)
 -- | Sets the current 'WebView' encoding,
 -- without modifying the default one, and reloads the page
-webViewSetCustomEncoding :: WebViewClass self => self
-    -> (Maybe String) -- ^ @encoding@ - the new encoding, or @Nothing@ to restore the default encoding.
+webViewSetCustomEncoding :: (WebViewClass self, GlibString string) => self
+    -> (Maybe string) -- ^ @encoding@ - the new encoding, or @Nothing@ to restore the default encoding.
     -> IO ()
 webViewSetCustomEncoding webview encoding =
-    maybeWith withCString encoding $ \encodingPtr ->
+    maybeWith withUTFString encoding $ \encodingPtr ->
         {#call web_view_set_custom_encoding#} (toWebView webview) encodingPtr
 #endif
 
 -- | Returns the current encoding of 'WebView',not the default encoding.
-webViewGetCustomEncoding :: WebViewClass self => self
-    -> IO (Maybe String) -- ^ the current encoding string or @Nothing@ if there is none set.
+webViewGetCustomEncoding :: (WebViewClass self, GlibString string) => self
+    -> IO (Maybe string) -- ^ the current encoding string or @Nothing@ if there is none set.
 webViewGetCustomEncoding = maybePeek peekUTFString <=< {#call web_view_get_custom_encoding#} . toWebView
 
 #if WEBKIT_CHECK_VERSION(1,1,7)
@@ -764,7 +784,7 @@
 -- | The default encoding of the 'WebView' instance
 --
 -- Default value: @Nothing@
-webViewEncoding :: WebViewClass self => ReadAttr self (Maybe String)
+webViewEncoding :: (WebViewClass self, GlibString string) => ReadAttr self (Maybe string)
 webViewEncoding = readAttr webViewGetEncoding
 
 -- | Determines the current status of the load.
@@ -788,7 +808,7 @@
 
 
 -- | Title of the 'WebView' instance
-webViewTitle :: WebViewClass self => ReadAttr self (Maybe String)
+webViewTitle :: (WebViewClass self, GlibString string) => ReadAttr self (Maybe string)
 webViewTitle = readAttr webViewGetTitle
 
 -- | The associated webInspector instance of the 'WebView'
@@ -799,7 +819,7 @@
 -- | The custom encoding of the 'WebView' instance
 --
 -- Default value: @Nothing@
-webViewCustomEncoding :: WebViewClass self => Attr self (Maybe String)
+webViewCustomEncoding :: (WebViewClass self, GlibString string) => Attr self (Maybe string)
 webViewCustomEncoding = newAttr
    webViewGetCustomEncoding
    webViewSetCustomEncoding
@@ -827,7 +847,7 @@
 -- | Returns the current URI of the contents displayed by the @web_view@.
 --
 -- Default value: Nothing
-webViewUri :: WebViewClass self => ReadAttr self (Maybe String)
+webViewUri :: (WebViewClass self, GlibString string) => ReadAttr self (Maybe string)
 webViewUri = readAttr webViewGetUri
 
 -- | The list of targets this web view supports for clipboard copying.
@@ -850,7 +870,7 @@
 -- Default value: 'Nothing'
 --
 -- * Since 1.1.18
-webViewIconUri :: WebViewClass self => ReadAttr self String
+webViewIconUri :: (WebViewClass self, GlibString string) => ReadAttr self string
 webViewIconUri = readAttrFromStringProperty "icon-uri"
 #endif
 
@@ -905,8 +925,8 @@
 -- webframe - which 'WebFrame' changes the document title.
 --
 -- title - current title string.
-titleChanged :: WebViewClass self => Signal self ( WebFrame -> String -> IO() )
-titleChanged = Signal (connect_OBJECT_STRING__NONE "title_changed")
+titleChanged :: (WebViewClass self, GlibString string) => Signal self ( WebFrame -> string -> IO() )
+titleChanged = Signal (connect_OBJECT_GLIBSTRING__NONE "title_changed")
 
 
 -- | When the cursor is over a link, this signal is emitted.
@@ -914,8 +934,8 @@
 -- title - the link's title or @Nothing@ in case of failure.
 --
 -- uri - the URI the link points to or @Nothing@ in case of failure.
-hoveringOverLink :: WebViewClass self => Signal self (Maybe String -> Maybe String -> IO())
-hoveringOverLink = Signal (connect_MSTRING_MSTRING__NONE "hovering_over_link")
+hoveringOverLink :: (WebViewClass self, GlibString string) => Signal self (Maybe string -> Maybe string -> IO())
+hoveringOverLink = Signal (connect_MGLIBSTRING_MGLIBSTRING__NONE "hovering_over_link")
 
 -- | When a 'WebFrame' begins to load, this signal is emitted
 loadStarted :: WebViewClass self => Signal self (WebFrame -> IO())
@@ -945,8 +965,8 @@
 -- if you want to provide your own error page.
 --
 -- The URI that triggered the error and the 'GError' will be passed back to user function.
-loadError :: WebViewClass self => Signal self (WebFrame -> String -> GError -> IO Bool)
-loadError = Signal (connect_OBJECT_STRING_BOXED__BOOL "load_error" peek)
+loadError :: (WebViewClass self, GlibString string) => Signal self (WebFrame -> string -> GError -> IO Bool)
+loadError = Signal (connect_OBJECT_GLIBSTRING_BOXED__BOOL "load_error" peek)
 
 createWebView :: WebViewClass self => Signal self (WebFrame -> IO WebView)
 createWebView = Signal (connect_OBJECT__OBJECTPTR "create_web_view")
@@ -965,8 +985,8 @@
 #endif
 
 -- | A JavaScript console message was created.
-consoleMessage :: WebViewClass self => Signal self (String -> String -> Int -> String -> IO Bool)
-consoleMessage = Signal (connect_STRING_STRING_INT_STRING__BOOL "console_message")
+consoleMessage :: (WebViewClass self, GlibString string) => Signal self (string -> string -> Int -> string -> IO Bool)
+consoleMessage = Signal (connect_GLIBSTRING_GLIBSTRING_INT_GLIBSTRING__BOOL "console_message")
 
 -- | The 'copyClipboard' signal is a keybinding signal which gets emitted to copy the selection to the clipboard.
 --
@@ -1000,20 +1020,20 @@
 printRequested = Signal (connect_OBJECT__BOOL "print_requested")
 
 -- | A JavaScript alert dialog was created.
-scriptAlert :: WebViewClass self => Signal self (WebFrame -> String -> IO Bool)
-scriptAlert = Signal (connect_OBJECT_STRING__BOOL "script_alert")
+scriptAlert :: (WebViewClass self, GlibString string) => Signal self (WebFrame -> string -> IO Bool)
+scriptAlert = Signal (connect_OBJECT_GLIBSTRING__BOOL "script_alert")
 
 -- | A JavaScript confirm dialog was created, providing Yes and No buttons.
-scriptConfirm :: WebViewClass self => Signal self (WebFrame -> String -> IO Bool)
-scriptConfirm = Signal (connect_OBJECT_STRING__BOOL "script_confirm")
+scriptConfirm :: (WebViewClass self, GlibString string) => Signal self (WebFrame -> string -> IO Bool)
+scriptConfirm = Signal (connect_OBJECT_GLIBSTRING__BOOL "script_confirm")
 
 -- | A JavaScript prompt dialog was created, providing an entry to input text.
-scriptPrompt :: WebViewClass self => Signal self (WebFrame -> String -> String -> IO Bool)
-scriptPrompt = Signal (connect_OBJECT_STRING_STRING__BOOL "script_prompt")
+scriptPrompt :: (WebViewClass self, GlibString string) => Signal self (WebFrame -> string -> string -> IO Bool)
+scriptPrompt = Signal (connect_OBJECT_GLIBSTRING_GLIBSTRING__BOOL "script_prompt")
 
 -- | When status-bar text changed, this signal will emitted.
-statusBarTextChanged :: WebViewClass self => Signal self (String -> IO ())
-statusBarTextChanged = Signal (connect_STRING__NONE "status_bar_text_changed")
+statusBarTextChanged :: (WebViewClass self, GlibString string) => Signal self (string -> IO ())
+statusBarTextChanged = Signal (connect_GLIBSTRING__NONE "status_bar_text_changed")
 
 
 editingBegan :: WebViewClass self => Signal self (IO ())
@@ -1071,9 +1091,9 @@
 
 #if WEBKIT_CHECK_VERSION (1,1,18)
 -- | Emitted after Icon loaded
-iconLoaded :: WebViewClass self => Signal self (String -> IO ())
+iconLoaded :: (WebViewClass self, GlibString string) => Signal self (string -> IO ())
 iconLoaded =
-    Signal (connect_STRING__NONE "icon_loaded")
+    Signal (connect_GLIBSTRING__NONE "icon_loaded")
 #endif
 
 -- | The "redo" signal is a keybinding signal which gets emitted to redo the last editing command.
@@ -1099,8 +1119,8 @@
 -- see also soupMessageHeadersGetContentDisposition'
 -- And you must call 'webPolicyDecisionIgnore', 'webPolicyDecisionDownload', or 'webPolicyDecisionUse'
 -- on the 'webPolicyDecision' object.
-mimeTypePolicyDecisionRequested :: WebViewClass self => Signal self (WebFrame -> NetworkRequest -> String -> WebPolicyDecision -> IO Bool)
-mimeTypePolicyDecisionRequested = Signal (connect_OBJECT_OBJECT_STRING_OBJECT__BOOL "mime_type_policy_decision_requested")
+mimeTypePolicyDecisionRequested :: (WebViewClass self, GlibString string) => Signal self (WebFrame -> NetworkRequest -> string -> WebPolicyDecision -> IO Bool)
+mimeTypePolicyDecisionRequested = Signal (connect_OBJECT_OBJECT_GLIBSTRING_OBJECT__BOOL "mime_type_policy_decision_requested")
 
 -- | The 'moveCursor' will be emitted to apply the cursor movement described by its parameters to the view.
 moveCursor :: WebViewClass self => Signal self (MovementStep -> Int -> IO Bool)
diff --git a/Gtk2HsSetup.hs b/Gtk2HsSetup.hs
--- a/Gtk2HsSetup.hs
+++ b/Gtk2HsSetup.hs
@@ -56,7 +56,8 @@
 import Distribution.Verbosity
 import Control.Monad (when, unless, filterM, liftM, forM, forM_)
 import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList, catMaybes )
-import Data.List (isPrefixOf, isSuffixOf, stripPrefix, nub, tails )
+import Data.List (isPrefixOf, isSuffixOf, nub, minimumBy, stripPrefix, tails )
+import Data.Ord as Ord (comparing)
 import Data.Char (isAlpha, isNumber)
 import qualified Data.Map as M
 import qualified Data.Set as S
@@ -113,9 +114,16 @@
 fixLibs :: [FilePath] -> [String] -> [String]
 fixLibs dlls = concatMap $ \ lib ->
     case filter (isLib lib) dlls of
-                dll:_ -> [dropExtension dll]
-                _     -> if lib == "z" then [] else [lib]
+                dlls@(_:_) -> [dropExtension (pickDll dlls)]
+                _          -> if lib == "z" then [] else [lib]
   where
+    -- If there are several .dll files matching the one we're after then we
+    -- just have to guess. For example for recent Windows cairo builds we get
+    -- libcairo-2.dll libcairo-gobject-2.dll libcairo-script-interpreter-2.dll
+    -- Our heuristic is to pick the one with the shortest name.
+    -- Yes this is a hack but the proper solution is hard: we would need to
+    -- parse the .a file and see which .dll file(s) it needed to link to.
+    pickDll = minimumBy (Ord.comparing length)
     isLib lib dll =
         case stripPrefix ("lib"++lib) dll of
             Just ('.':_)                -> True
@@ -154,9 +162,9 @@
 register :: PackageDescription -> LocalBuildInfo
          -> RegisterFlags -- ^Install in the user's database?; verbose
          -> IO ()
-register pkg@(library       -> Just lib )
-         lbi@(libraryConfig -> Just clbi) regFlags
+register pkg@PackageDescription { library       = Just lib  } lbi regFlags
   = do
+    let clbi = LBI.getComponentLocalBuildInfo lbi LBI.CLibName
 
     installedPkgInfoRaw <- generateRegistrationInfo
                            verbosity pkg lib lbi clbi inplace distPref
@@ -168,7 +176,7 @@
 
      -- Three different modes:
     case () of
-     _ | modeGenerateRegFile   -> die "Generate Reg File not supported"
+     _ | modeGenerateRegFile   -> writeRegistrationFile installedPkgInfo
        | modeGenerateRegScript -> die "Generate Reg Script not supported"
        | otherwise             -> registerPackage verbosity
                                     installedPkgInfo pkg lbi inplace
@@ -180,6 +188,8 @@
 
   where
     modeGenerateRegFile = isJust (flagToMaybe (regGenPkgConf regFlags))
+    regFile             = fromMaybe (display (packageId pkg) <.> "conf")
+                                    (fromFlag (regGenPkgConf regFlags))
     modeGenerateRegScript = fromFlag (regGenScript regFlags)
     inplace   = fromFlag (regInPlace regFlags)
     packageDbs = nub $ withPackageDB lbi
@@ -187,6 +197,10 @@
     packageDb = registrationPackageDB packageDbs
     distPref  = fromFlag (regDistPref regFlags)
     verbosity = fromFlag (regVerbosity regFlags)
+
+    writeRegistrationFile installedPkgInfo = do
+      notice verbosity ("Creating package registration file: " ++ regFile)
+      writeUTF8File regFile (showInstalledPackageInfo installedPkgInfo)
 
 register _ _ regFlags = notice verbosity "No package to register"
   where
diff --git a/SetupWrapper.hs b/SetupWrapper.hs
--- a/SetupWrapper.hs
+++ b/SetupWrapper.hs
@@ -9,7 +9,7 @@
 import Distribution.Simple.Program
 import Distribution.Simple.Compiler
 import Distribution.Simple.BuildPaths (exeExtension)
-import Distribution.Simple.Configure (configCompiler)
+import Distribution.Simple.Configure (configCompilerEx)
 import Distribution.Simple.GHC (getInstalledPackages)
 import qualified Distribution.Simple.PackageIndex as PackageIndex
 import Distribution.Version
@@ -115,7 +115,7 @@
       when outOfDate $ do
         debug verbosity "Setup script is out of date, compiling..."
 
-        (comp, conf)    <- configCompiler (Just GHC) Nothing Nothing
+        (comp, _, conf) <- configCompilerEx (Just GHC) Nothing Nothing
                              defaultProgramConfiguration verbosity
         cabalLibVersion <- cabalLibVersionToUse comp conf
         let cabalPkgid = PackageIdentifier (PackageName "Cabal") cabalLibVersion
diff --git a/hswebkit.h b/hswebkit.h
--- a/hswebkit.h
+++ b/hswebkit.h
@@ -17,6 +17,10 @@
  * Boston, MA 02110-1301, USA.
  */
 
+#ifdef __BLOCKS__
+#undef __BLOCKS__
+#endif
+
 #ifndef HS_WEBKIT_H
 #define HS_WEBKIT_H
 /* to avoid stdbool.h error in JavaScriptCore/JSBase.h*/
diff --git a/marshal.list b/marshal.list
--- a/marshal.list
+++ b/marshal.list
@@ -14,8 +14,8 @@
 #   FLAGS       for flag enumeration types (guint)
 #   FLOAT       for single-precision float types (gfloat)
 #   DOUBLE      for double-precision float types (gdouble)
-#   STRING      for string types (gchar*)
-#   MSTRING     for string types (gchar*) that could be NUL
+#   GLIBSTRING  for string types (gchar*)
+#   MGLIBSTRING for string types (gchar*) that could be NUL
 #   BOXED       for boxed (anonymous but reference counted) types (GBoxed*)
 #   POINTER     for anonymous pointer types (gpointer)
 #   NONE        deprecated alias for VOID
@@ -45,24 +45,24 @@
 
 VOID:POINTER,POINTER
 BOOLEAN:TOBJECT
-BOOLEAN:TOBJECT,STRING,BOXED
+BOOLEAN:TOBJECT,GLIBSTRING,BOXED
 POINTER:TOBJECT
-BOOLEAN:INT,INT,STRING
-BOOLEAN:STRING,STRING,INT,STRING
-BOOLEAN:TOBJECT,STRING
-BOOLEAN:TOBJECT,STRING,STRING
+BOOLEAN:INT,INT,GLIBSTRING
+BOOLEAN:GLIBSTRING,GLIBSTRING,INT,GLIBSTRING
+BOOLEAN:TOBJECT,GLIBSTRING
+BOOLEAN:TOBJECT,GLIBSTRING,GLIBSTRING
 BOOLEAN:TOBJECT,TOBJECT
 BOOLEAN:TOBJECT,TOBJECT,TOBJECT,TOBJECT
-BOOLEAN:TOBJECT,TOBJECT,STRING,TOBJECT
+BOOLEAN:TOBJECT,TOBJECT,GLIBSTRING,TOBJECT
 NONE:TOBJECT,TOBJECT,TOBJECT,TOBJECT
 NONE:TOBJECT,TOBJECT,MTOBJECT,MTOBJECT
 BOOLEAN:ENUM,INT
 BOOLEAN:NONE
 NONE:NONE
-NONE:MSTRING,MSTRING
-NONE:TOBJECT,STRING
+NONE:MGLIBSTRING,MGLIBSTRING
+NONE:TOBJECT,GLIBSTRING
 NONE:TOBJECT,TOBJECT
-NONE:STRING,STRING
+NONE:GLIBSTRING,GLIBSTRING
 NONE:TOBJECT
 NONE:INT
-NONE:STRING
+NONE:GLIBSTRING
diff --git a/webkit.cabal b/webkit.cabal
--- a/webkit.cabal
+++ b/webkit.cabal
@@ -1,5 +1,5 @@
 Name:           webkit
-Version:        0.12.6.1
+Version:        0.13.0.0
 License:        LGPL-2.1
 License-file:   COPYING
 Copyright:      (c) 2001-2013 The Gtk2Hs Team
@@ -9,7 +9,7 @@
 Cabal-Version:  >= 1.8
 Stability:      provisional
 homepage:       http://projects.haskell.org/gtk2hs/
-bug-reports:    http://hackage.haskell.org/trac/gtk2hs/
+bug-reports:    https://github.com/gtk2hs/webkit/issues
 Synopsis:       Binding to the Webkit library.
 Description:    WebKit is a web content engine, derived from KHTML and KJS from KDE, and
                 used primarily in Apple's Safari browser.  It is made to be embedded in
@@ -44,12 +44,14 @@
 
 Library
         build-depends:  base >= 4 && < 5,
-                        glib  >= 0.12.1 && < 0.13,
-                        pango >= 0.12 && < 0.13,
-                        cairo >= 0.12 && < 0.13,
+                        bytestring >= 0.10 && < 0.11,
+                        glib  >= 0.13.0.0 && < 0.14,
+                        pango >= 0.13.0.0 && < 0.14,
+                        cairo >= 0.13.0.0 && < 0.14,
+                        text  >= 0.11.0.6 && < 1.2,
                         mtl
 
-        build-tools:    gtk2hsC2hs >= 0.13.8,
+        build-tools:    gtk2hsC2hs >= 0.13.11,
                         gtk2hsHookGenerator, gtk2hsTypeGen
         c-sources:      Graphics/UI/Gtk/WebKit/DOM/hsevents.c
         include-dirs:   cbits
@@ -225,5 +227,5 @@
 
         hs-source-dirs:     .
         pkgconfig-depends:  webkit-1.0 >= 1.8
-        build-depends:      gtk >=0.12.5.4 && <0.13
+        build-depends:      gtk >=0.13.0.0 && <0.14
         x-c2hs-Header:      hswebkit.h
