diff --git a/Graphics/UI/Gtk/ModelView/TreeSelection.chs b/Graphics/UI/Gtk/ModelView/TreeSelection.chs
--- a/Graphics/UI/Gtk/ModelView/TreeSelection.chs
+++ b/Graphics/UI/Gtk/ModelView/TreeSelection.chs
@@ -282,7 +282,7 @@
 treeSelectionPathIsSelected self path =
   liftM toBool $
   withTreePath path $ \path ->
-  {# call unsafe tree_selection_path_is_selected #}
+  {# call tree_selection_path_is_selected #}
     (toTreeSelection self)
     path
 
@@ -312,7 +312,7 @@
 treeSelectionIterIsSelected self iter =
   liftM toBool $
   with iter $ \iterPtr ->
-  {# call unsafe tree_selection_iter_is_selected #}
+  {# call tree_selection_iter_is_selected #}
     (toTreeSelection self)
     iterPtr
 
diff --git a/Graphics/UI/Gtk/Types.chs b/Graphics/UI/Gtk/Types.chs
--- a/Graphics/UI/Gtk/Types.chs
+++ b/Graphics/UI/Gtk/Types.chs
@@ -86,22 +86,10 @@
   toRecentManager, 
   mkRecentManager, unRecentManager,
   castToRecentManager, gTypeRecentManager,
-  Drawable(Drawable), DrawableClass,
-  toDrawable, 
-  mkDrawable, unDrawable,
-  castToDrawable, gTypeDrawable,
   DrawWindow(DrawWindow), DrawWindowClass,
   toDrawWindow, 
   mkDrawWindow, unDrawWindow,
   castToDrawWindow, gTypeDrawWindow,
-  Pixmap(Pixmap), PixmapClass,
-  toPixmap, 
-  mkPixmap, unPixmap,
-  castToPixmap, gTypePixmap,
-  Colormap(Colormap), ColormapClass,
-  toColormap, 
-  mkColormap, unColormap,
-  castToColormap, gTypeColormap,
   Screen(Screen), ScreenClass,
   toScreen, 
   mkScreen, unScreen,
@@ -118,6 +106,10 @@
   toDevice, 
   mkDevice, unDevice,
   castToDevice, gTypeDevice,
+  FrameClock(FrameClock), FrameClockClass,
+  toFrameClock, 
+  mkFrameClock, unFrameClock,
+  castToFrameClock, gTypeFrameClock,
   Settings(Settings), SettingsClass,
   toSettings, 
   mkSettings, unSettings,
@@ -170,10 +162,6 @@
   toTextMark, 
   mkTextMark, unTextMark,
   castToTextMark, gTypeTextMark,
-  Object(Object), ObjectClass,
-  toObject, 
-  mkObject, unObject,
-  castToObject, gTypeObject,
   RecentFilter(RecentFilter), RecentFilterClass,
   toRecentFilter, 
   mkRecentFilter, unRecentFilter,
@@ -198,10 +186,6 @@
   toAccelLabel, 
   mkAccelLabel, unAccelLabel,
   castToAccelLabel, gTypeAccelLabel,
-  TipsQuery(TipsQuery), TipsQueryClass,
-  toTipsQuery, 
-  mkTipsQuery, unTipsQuery,
-  castToTipsQuery, gTypeTipsQuery,
   Arrow(Arrow), ArrowClass,
   toArrow, 
   mkArrow, unArrow,
@@ -274,14 +258,6 @@
   toFontButton, 
   mkFontButton, unFontButton,
   castToFontButton, gTypeFontButton,
-  OptionMenu(OptionMenu), OptionMenuClass,
-  toOptionMenu, 
-  mkOptionMenu, unOptionMenu,
-  castToOptionMenu, gTypeOptionMenu,
-  Item(Item), ItemClass,
-  toItem, 
-  mkItem, unItem,
-  castToItem, gTypeItem,
   MenuItem(MenuItem), MenuItemClass,
   toMenuItem, 
   mkMenuItem, unMenuItem,
@@ -306,10 +282,10 @@
   toSeparatorMenuItem, 
   mkSeparatorMenuItem, unSeparatorMenuItem,
   castToSeparatorMenuItem, gTypeSeparatorMenuItem,
-  ListItem(ListItem), ListItemClass,
-  toListItem, 
-  mkListItem, unListItem,
-  castToListItem, gTypeListItem,
+  Overlay(Overlay), OverlayClass,
+  toOverlay, 
+  mkOverlay, unOverlay,
+  castToOverlay, gTypeOverlay,
   Window(Window), WindowClass,
   toWindow, 
   mkWindow, unWindow,
@@ -334,10 +310,6 @@
   toColorSelectionDialog, 
   mkColorSelectionDialog, unColorSelectionDialog,
   castToColorSelectionDialog, gTypeColorSelectionDialog,
-  FileSelection(FileSelection), FileSelectionClass,
-  toFileSelection, 
-  mkFileSelection, unFileSelection,
-  castToFileSelection, gTypeFileSelection,
   FileChooserDialog(FileChooserDialog), FileChooserDialogClass,
   toFileChooserDialog, 
   mkFileChooserDialog, unFileChooserDialog,
@@ -346,10 +318,6 @@
   toFontSelectionDialog, 
   mkFontSelectionDialog, unFontSelectionDialog,
   castToFontSelectionDialog, gTypeFontSelectionDialog,
-  InputDialog(InputDialog), InputDialogClass,
-  toInputDialog, 
-  mkInputDialog, unInputDialog,
-  castToInputDialog, gTypeInputDialog,
   MessageDialog(MessageDialog), MessageDialogClass,
   toMessageDialog, 
   mkMessageDialog, unMessageDialog,
@@ -378,10 +346,6 @@
   toComboBox, 
   mkComboBox, unComboBox,
   castToComboBox, gTypeComboBox,
-  ComboBoxEntry(ComboBoxEntry), ComboBoxEntryClass,
-  toComboBoxEntry, 
-  mkComboBoxEntry, unComboBoxEntry,
-  castToComboBoxEntry, gTypeComboBoxEntry,
   ToolItem(ToolItem), ToolItemClass,
   toToolItem, 
   mkToolItem, unToolItem,
@@ -450,10 +414,6 @@
   toInfoBar, 
   mkInfoBar, unInfoBar,
   castToInfoBar, gTypeInfoBar,
-  Combo(Combo), ComboClass,
-  toCombo, 
-  mkCombo, unCombo,
-  castToCombo, gTypeCombo,
   FileChooserButton(FileChooserButton), FileChooserButtonClass,
   toFileChooserButton, 
   mkFileChooserButton, unFileChooserButton,
@@ -462,14 +422,6 @@
   toStatusbar, 
   mkStatusbar, unStatusbar,
   castToStatusbar, gTypeStatusbar,
-  CList(CList), CListClass,
-  toCList, 
-  mkCList, unCList,
-  castToCList, gTypeCList,
-  CTree(CTree), CTreeClass,
-  toCTree, 
-  mkCTree, unCTree,
-  castToCTree, gTypeCTree,
   Fixed(Fixed), FixedClass,
   toFixed, 
   mkFixed, unFixed,
@@ -494,10 +446,6 @@
   toLayout, 
   mkLayout, unLayout,
   castToLayout, gTypeLayout,
-  List(List), ListClass,
-  toList, 
-  mkList, unList,
-  castToList, gTypeList,
   MenuShell(MenuShell), MenuShellClass,
   toMenuShell, 
   mkMenuShell, unMenuShell,
@@ -558,18 +506,6 @@
   toSpinButton, 
   mkSpinButton, unSpinButton,
   castToSpinButton, gTypeSpinButton,
-  Ruler(Ruler), RulerClass,
-  toRuler, 
-  mkRuler, unRuler,
-  castToRuler, gTypeRuler,
-  HRuler(HRuler), HRulerClass,
-  toHRuler, 
-  mkHRuler, unHRuler,
-  castToHRuler, gTypeHRuler,
-  VRuler(VRuler), VRulerClass,
-  toVRuler, 
-  mkVRuler, unVRuler,
-  castToVRuler, gTypeVRuler,
   Range(Range), RangeClass,
   toRange, 
   mkRange, unRange,
@@ -614,14 +550,14 @@
   toInvisible, 
   mkInvisible, unInvisible,
   castToInvisible, gTypeInvisible,
-  Preview(Preview), PreviewClass,
-  toPreview, 
-  mkPreview, unPreview,
-  castToPreview, gTypePreview,
   ProgressBar(ProgressBar), ProgressBarClass,
   toProgressBar, 
   mkProgressBar, unProgressBar,
   castToProgressBar, gTypeProgressBar,
+  LevelBar(LevelBar), LevelBarClass,
+  toLevelBar, 
+  mkLevelBar, unLevelBar,
+  castToLevelBar, gTypeLevelBar,
   Adjustment(Adjustment), AdjustmentClass,
   toAdjustment, 
   mkAdjustment, unAdjustment,
@@ -638,14 +574,6 @@
   toIMContextSimple, 
   mkIMContextSimple, unIMContextSimple,
   castToIMContextSimple, gTypeIMContextSimple,
-  ItemFactory(ItemFactory), ItemFactoryClass,
-  toItemFactory, 
-  mkItemFactory, unItemFactory,
-  castToItemFactory, gTypeItemFactory,
-  Tooltips(Tooltips), TooltipsClass,
-  toTooltips, 
-  mkTooltips, unTooltips,
-  castToTooltips, gTypeTooltips,
   TreeViewColumn(TreeViewColumn), TreeViewColumnClass,
   toTreeViewColumn, 
   mkTreeViewColumn, unTreeViewColumn,
@@ -694,6 +622,18 @@
   toBuilder, 
   mkBuilder, unBuilder,
   castToBuilder, gTypeBuilder,
+  StyleContext(StyleContext), StyleContextClass,
+  toStyleContext, 
+  mkStyleContext, unStyleContext,
+  castToStyleContext, gTypeStyleContext,
+  StyleProvider(StyleProvider), StyleProviderClass,
+  toStyleProvider, 
+  mkStyleProvider, unStyleProvider,
+  castToStyleProvider, gTypeStyleProvider,
+  CssProvider(CssProvider), CssProviderClass,
+  toCssProvider, 
+  mkCssProvider, unCssProvider,
+  castToCssProvider, gTypeCssProvider,
   CellLayout(CellLayout), CellLayoutClass,
   toCellLayout, 
   mkCellLayout, unCellLayout,
@@ -805,11 +745,7 @@
   FileChooser(FileChooser), FileChooserClass,
   toFileChooser, 
   mkFileChooser, unFileChooser,
-  castToFileChooser, gTypeFileChooser,
-  GC(GC), GCClass,
-  toGC, 
-  mkGC, unGC,
-  castToGC, gTypeGC
+  castToFileChooser, gTypeFileChooser
   ) where
 
 import Foreign.ForeignPtr (ForeignPtr, castForeignPtr)
@@ -1115,29 +1051,6 @@
 gTypeRecentManager =
   {# call fun unsafe gtk_recent_manager_get_type #}
 
--- ******************************************************************* Drawable
-
-{#pointer *GdkDrawable as Drawable foreign newtype #} deriving (Eq,Ord)
-
-mkDrawable = (Drawable, objectUnrefFromMainloop)
-unDrawable (Drawable o) = o
-
-class GObjectClass o => DrawableClass o
-toDrawable :: DrawableClass o => o -> Drawable
-toDrawable = unsafeCastGObject . toGObject
-
-instance DrawableClass Drawable
-instance GObjectClass Drawable where
-  toGObject = GObject . castForeignPtr . unDrawable
-  unsafeCastGObject = Drawable . castForeignPtr . unGObject
-
-castToDrawable :: GObjectClass obj => obj -> Drawable
-castToDrawable = castTo gTypeDrawable "Drawable"
-
-gTypeDrawable :: GType
-gTypeDrawable =
-  {# call fun unsafe gdk_drawable_get_type #}
-
 -- ***************************************************************** DrawWindow
 
 {#pointer *GdkWindow as DrawWindow foreign newtype #} deriving (Eq,Ord)
@@ -1145,12 +1058,11 @@
 mkDrawWindow = (DrawWindow, objectUnrefFromMainloop)
 unDrawWindow (DrawWindow o) = o
 
-class DrawableClass o => DrawWindowClass o
+class GObjectClass o => DrawWindowClass o
 toDrawWindow :: DrawWindowClass o => o -> DrawWindow
 toDrawWindow = unsafeCastGObject . toGObject
 
 instance DrawWindowClass DrawWindow
-instance DrawableClass DrawWindow
 instance GObjectClass DrawWindow where
   toGObject = GObject . castForeignPtr . unDrawWindow
   unsafeCastGObject = DrawWindow . castForeignPtr . unGObject
@@ -1160,54 +1072,7 @@
 
 gTypeDrawWindow :: GType
 gTypeDrawWindow =
-  {# call fun unsafe gdk_window_object_get_type #}
-
--- ********************************************************************* Pixmap
-
-{#pointer *GdkPixmap as Pixmap foreign newtype #} deriving (Eq,Ord)
-
-mkPixmap = (Pixmap, objectUnrefFromMainloop)
-unPixmap (Pixmap o) = o
-
-class DrawableClass o => PixmapClass o
-toPixmap :: PixmapClass o => o -> Pixmap
-toPixmap = unsafeCastGObject . toGObject
-
-instance PixmapClass Pixmap
-instance DrawableClass Pixmap
-instance GObjectClass Pixmap where
-  toGObject = GObject . castForeignPtr . unPixmap
-  unsafeCastGObject = Pixmap . castForeignPtr . unGObject
-
-castToPixmap :: GObjectClass obj => obj -> Pixmap
-castToPixmap = castTo gTypePixmap "Pixmap"
-
-gTypePixmap :: GType
-gTypePixmap =
-  {# call fun unsafe gdk_pixmap_get_type #}
-
--- ******************************************************************* Colormap
-
-{#pointer *GdkColormap as Colormap foreign newtype #} deriving (Eq,Ord)
-
-mkColormap = (Colormap, objectUnrefFromMainloop)
-unColormap (Colormap o) = o
-
-class GObjectClass o => ColormapClass o
-toColormap :: ColormapClass o => o -> Colormap
-toColormap = unsafeCastGObject . toGObject
-
-instance ColormapClass Colormap
-instance GObjectClass Colormap where
-  toGObject = GObject . castForeignPtr . unColormap
-  unsafeCastGObject = Colormap . castForeignPtr . unGObject
-
-castToColormap :: GObjectClass obj => obj -> Colormap
-castToColormap = castTo gTypeColormap "Colormap"
-
-gTypeColormap :: GType
-gTypeColormap =
-  {# call fun unsafe gdk_colormap_get_type #}
+  {# call fun unsafe gdk_window_get_type #}
 
 -- ********************************************************************* Screen
 
@@ -1301,6 +1166,29 @@
 gTypeDevice =
   {# call fun unsafe gdk_device_get_type #}
 
+-- ***************************************************************** FrameClock
+
+{#pointer *GdkFrameClock as FrameClock foreign newtype #} deriving (Eq,Ord)
+
+mkFrameClock = (FrameClock, objectUnrefFromMainloop)
+unFrameClock (FrameClock o) = o
+
+class GObjectClass o => FrameClockClass o
+toFrameClock :: FrameClockClass o => o -> FrameClock
+toFrameClock = unsafeCastGObject . toGObject
+
+instance FrameClockClass FrameClock
+instance GObjectClass FrameClock where
+  toGObject = GObject . castForeignPtr . unFrameClock
+  unsafeCastGObject = FrameClock . castForeignPtr . unGObject
+
+castToFrameClock :: GObjectClass obj => obj -> FrameClock
+castToFrameClock = castTo gTypeFrameClock "FrameClock"
+
+gTypeFrameClock :: GType
+gTypeFrameClock =
+  {# call fun unsafe gdk_frame_clock_get_type #}
+
 -- ******************************************************************* Settings
 
 {#pointer *GtkSettings as Settings foreign newtype #} deriving (Eq,Ord)
@@ -1601,29 +1489,6 @@
 gTypeTextMark =
   {# call fun unsafe gtk_text_mark_get_type #}
 
--- ********************************************************************* Object
-
-{#pointer *GtkObject as Object foreign newtype #} deriving (Eq,Ord)
-
-mkObject = (Object, objectUnrefFromMainloop)
-unObject (Object o) = o
-
-class GObjectClass o => ObjectClass o
-toObject :: ObjectClass o => o -> Object
-toObject = unsafeCastGObject . toGObject
-
-instance ObjectClass Object
-instance GObjectClass Object where
-  toGObject = GObject . castForeignPtr . unObject
-  unsafeCastGObject = Object . castForeignPtr . unGObject
-
-castToObject :: GObjectClass obj => obj -> Object
-castToObject = castTo gTypeObject "Object"
-
-gTypeObject :: GType
-gTypeObject =
-  {# call fun unsafe gtk_object_get_type #}
-
 -- *************************************************************** RecentFilter
 
 {#pointer *GtkRecentFilter as RecentFilter foreign newtype #} deriving (Eq,Ord)
@@ -1631,12 +1496,11 @@
 mkRecentFilter = (RecentFilter, objectUnrefFromMainloop)
 unRecentFilter (RecentFilter o) = o
 
-class ObjectClass o => RecentFilterClass o
+class GObjectClass o => RecentFilterClass o
 toRecentFilter :: RecentFilterClass o => o -> RecentFilter
 toRecentFilter = unsafeCastGObject . toGObject
 
 instance RecentFilterClass RecentFilter
-instance ObjectClass RecentFilter
 instance GObjectClass RecentFilter where
   toGObject = GObject . castForeignPtr . unRecentFilter
   unsafeCastGObject = RecentFilter . castForeignPtr . unGObject
@@ -1655,12 +1519,11 @@
 mkWidget = (Widget, objectUnrefFromMainloop)
 unWidget (Widget o) = o
 
-class ObjectClass o => WidgetClass o
+class GObjectClass o => WidgetClass o
 toWidget :: WidgetClass o => o -> Widget
 toWidget = unsafeCastGObject . toGObject
 
 instance WidgetClass Widget
-instance ObjectClass Widget
 instance GObjectClass Widget where
   toGObject = GObject . castForeignPtr . unWidget
   unsafeCastGObject = Widget . castForeignPtr . unGObject
@@ -1685,7 +1548,6 @@
 
 instance HSVClass HSV
 instance WidgetClass HSV
-instance ObjectClass HSV
 instance GObjectClass HSV where
   toGObject = GObject . castForeignPtr . unHSV
   unsafeCastGObject = HSV . castForeignPtr . unGObject
@@ -1710,7 +1572,6 @@
 
 instance MiscClass Misc
 instance WidgetClass Misc
-instance ObjectClass Misc
 instance GObjectClass Misc where
   toGObject = GObject . castForeignPtr . unMisc
   unsafeCastGObject = Misc . castForeignPtr . unGObject
@@ -1736,7 +1597,6 @@
 instance LabelClass Label
 instance MiscClass Label
 instance WidgetClass Label
-instance ObjectClass Label
 instance GObjectClass Label where
   toGObject = GObject . castForeignPtr . unLabel
   unsafeCastGObject = Label . castForeignPtr . unGObject
@@ -1763,7 +1623,6 @@
 instance LabelClass AccelLabel
 instance MiscClass AccelLabel
 instance WidgetClass AccelLabel
-instance ObjectClass AccelLabel
 instance GObjectClass AccelLabel where
   toGObject = GObject . castForeignPtr . unAccelLabel
   unsafeCastGObject = AccelLabel . castForeignPtr . unGObject
@@ -1775,33 +1634,6 @@
 gTypeAccelLabel =
   {# call fun unsafe gtk_accel_label_get_type #}
 
--- ****************************************************************** TipsQuery
-
-{#pointer *GtkTipsQuery as TipsQuery foreign newtype #} deriving (Eq,Ord)
-
-mkTipsQuery = (TipsQuery, objectUnrefFromMainloop)
-unTipsQuery (TipsQuery o) = o
-
-class LabelClass o => TipsQueryClass o
-toTipsQuery :: TipsQueryClass o => o -> TipsQuery
-toTipsQuery = unsafeCastGObject . toGObject
-
-instance TipsQueryClass TipsQuery
-instance LabelClass TipsQuery
-instance MiscClass TipsQuery
-instance WidgetClass TipsQuery
-instance ObjectClass TipsQuery
-instance GObjectClass TipsQuery where
-  toGObject = GObject . castForeignPtr . unTipsQuery
-  unsafeCastGObject = TipsQuery . castForeignPtr . unGObject
-
-castToTipsQuery :: GObjectClass obj => obj -> TipsQuery
-castToTipsQuery = castTo gTypeTipsQuery "TipsQuery"
-
-gTypeTipsQuery :: GType
-gTypeTipsQuery =
-  {# call fun unsafe gtk_tips_query_get_type #}
-
 -- ********************************************************************** Arrow
 
 {#pointer *GtkArrow as Arrow foreign newtype #} deriving (Eq,Ord)
@@ -1816,7 +1648,6 @@
 instance ArrowClass Arrow
 instance MiscClass Arrow
 instance WidgetClass Arrow
-instance ObjectClass Arrow
 instance GObjectClass Arrow where
   toGObject = GObject . castForeignPtr . unArrow
   unsafeCastGObject = Arrow . castForeignPtr . unGObject
@@ -1842,7 +1673,6 @@
 instance ImageClass Image
 instance MiscClass Image
 instance WidgetClass Image
-instance ObjectClass Image
 instance GObjectClass Image where
   toGObject = GObject . castForeignPtr . unImage
   unsafeCastGObject = Image . castForeignPtr . unGObject
@@ -1867,7 +1697,6 @@
 
 instance ContainerClass Container
 instance WidgetClass Container
-instance ObjectClass Container
 instance GObjectClass Container where
   toGObject = GObject . castForeignPtr . unContainer
   unsafeCastGObject = Container . castForeignPtr . unGObject
@@ -1893,7 +1722,6 @@
 instance ToolPaletteClass ToolPalette
 instance ContainerClass ToolPalette
 instance WidgetClass ToolPalette
-instance ObjectClass ToolPalette
 instance GObjectClass ToolPalette where
   toGObject = GObject . castForeignPtr . unToolPalette
   unsafeCastGObject = ToolPalette . castForeignPtr . unGObject
@@ -1919,7 +1747,6 @@
 instance ToolItemGroupClass ToolItemGroup
 instance ContainerClass ToolItemGroup
 instance WidgetClass ToolItemGroup
-instance ObjectClass ToolItemGroup
 instance GObjectClass ToolItemGroup where
   toGObject = GObject . castForeignPtr . unToolItemGroup
   unsafeCastGObject = ToolItemGroup . castForeignPtr . unGObject
@@ -1945,7 +1772,6 @@
 instance BinClass Bin
 instance ContainerClass Bin
 instance WidgetClass Bin
-instance ObjectClass Bin
 instance GObjectClass Bin where
   toGObject = GObject . castForeignPtr . unBin
   unsafeCastGObject = Bin . castForeignPtr . unGObject
@@ -1972,7 +1798,6 @@
 instance BinClass Alignment
 instance ContainerClass Alignment
 instance WidgetClass Alignment
-instance ObjectClass Alignment
 instance GObjectClass Alignment where
   toGObject = GObject . castForeignPtr . unAlignment
   unsafeCastGObject = Alignment . castForeignPtr . unGObject
@@ -1999,7 +1824,6 @@
 instance BinClass Frame
 instance ContainerClass Frame
 instance WidgetClass Frame
-instance ObjectClass Frame
 instance GObjectClass Frame where
   toGObject = GObject . castForeignPtr . unFrame
   unsafeCastGObject = Frame . castForeignPtr . unGObject
@@ -2027,7 +1851,6 @@
 instance BinClass AspectFrame
 instance ContainerClass AspectFrame
 instance WidgetClass AspectFrame
-instance ObjectClass AspectFrame
 instance GObjectClass AspectFrame where
   toGObject = GObject . castForeignPtr . unAspectFrame
   unsafeCastGObject = AspectFrame . castForeignPtr . unGObject
@@ -2054,7 +1877,6 @@
 instance BinClass Button
 instance ContainerClass Button
 instance WidgetClass Button
-instance ObjectClass Button
 instance GObjectClass Button where
   toGObject = GObject . castForeignPtr . unButton
   unsafeCastGObject = Button . castForeignPtr . unGObject
@@ -2082,7 +1904,6 @@
 instance BinClass ScaleButton
 instance ContainerClass ScaleButton
 instance WidgetClass ScaleButton
-instance ObjectClass ScaleButton
 instance GObjectClass ScaleButton where
   toGObject = GObject . castForeignPtr . unScaleButton
   unsafeCastGObject = ScaleButton . castForeignPtr . unGObject
@@ -2111,7 +1932,6 @@
 instance BinClass VolumeButton
 instance ContainerClass VolumeButton
 instance WidgetClass VolumeButton
-instance ObjectClass VolumeButton
 instance GObjectClass VolumeButton where
   toGObject = GObject . castForeignPtr . unVolumeButton
   unsafeCastGObject = VolumeButton . castForeignPtr . unGObject
@@ -2139,7 +1959,6 @@
 instance BinClass LinkButton
 instance ContainerClass LinkButton
 instance WidgetClass LinkButton
-instance ObjectClass LinkButton
 instance GObjectClass LinkButton where
   toGObject = GObject . castForeignPtr . unLinkButton
   unsafeCastGObject = LinkButton . castForeignPtr . unGObject
@@ -2167,7 +1986,6 @@
 instance BinClass ToggleButton
 instance ContainerClass ToggleButton
 instance WidgetClass ToggleButton
-instance ObjectClass ToggleButton
 instance GObjectClass ToggleButton where
   toGObject = GObject . castForeignPtr . unToggleButton
   unsafeCastGObject = ToggleButton . castForeignPtr . unGObject
@@ -2196,7 +2014,6 @@
 instance BinClass CheckButton
 instance ContainerClass CheckButton
 instance WidgetClass CheckButton
-instance ObjectClass CheckButton
 instance GObjectClass CheckButton where
   toGObject = GObject . castForeignPtr . unCheckButton
   unsafeCastGObject = CheckButton . castForeignPtr . unGObject
@@ -2226,7 +2043,6 @@
 instance BinClass RadioButton
 instance ContainerClass RadioButton
 instance WidgetClass RadioButton
-instance ObjectClass RadioButton
 instance GObjectClass RadioButton where
   toGObject = GObject . castForeignPtr . unRadioButton
   unsafeCastGObject = RadioButton . castForeignPtr . unGObject
@@ -2254,7 +2070,6 @@
 instance BinClass ColorButton
 instance ContainerClass ColorButton
 instance WidgetClass ColorButton
-instance ObjectClass ColorButton
 instance GObjectClass ColorButton where
   toGObject = GObject . castForeignPtr . unColorButton
   unsafeCastGObject = ColorButton . castForeignPtr . unGObject
@@ -2282,7 +2097,6 @@
 instance BinClass FontButton
 instance ContainerClass FontButton
 instance WidgetClass FontButton
-instance ObjectClass FontButton
 instance GObjectClass FontButton where
   toGObject = GObject . castForeignPtr . unFontButton
   unsafeCastGObject = FontButton . castForeignPtr . unGObject
@@ -2294,61 +2108,6 @@
 gTypeFontButton =
   {# call fun unsafe gtk_font_button_get_type #}
 
--- ***************************************************************** OptionMenu
-
-{#pointer *GtkOptionMenu as OptionMenu foreign newtype #} deriving (Eq,Ord)
-
-mkOptionMenu = (OptionMenu, objectUnrefFromMainloop)
-unOptionMenu (OptionMenu o) = o
-
-class ButtonClass o => OptionMenuClass o
-toOptionMenu :: OptionMenuClass o => o -> OptionMenu
-toOptionMenu = unsafeCastGObject . toGObject
-
-instance OptionMenuClass OptionMenu
-instance ButtonClass OptionMenu
-instance BinClass OptionMenu
-instance ContainerClass OptionMenu
-instance WidgetClass OptionMenu
-instance ObjectClass OptionMenu
-instance GObjectClass OptionMenu where
-  toGObject = GObject . castForeignPtr . unOptionMenu
-  unsafeCastGObject = OptionMenu . castForeignPtr . unGObject
-
-castToOptionMenu :: GObjectClass obj => obj -> OptionMenu
-castToOptionMenu = castTo gTypeOptionMenu "OptionMenu"
-
-gTypeOptionMenu :: GType
-gTypeOptionMenu =
-  {# call fun unsafe gtk_option_menu_get_type #}
-
--- *********************************************************************** Item
-
-{#pointer *GtkItem as Item foreign newtype #} deriving (Eq,Ord)
-
-mkItem = (Item, objectUnrefFromMainloop)
-unItem (Item o) = o
-
-class BinClass o => ItemClass o
-toItem :: ItemClass o => o -> Item
-toItem = unsafeCastGObject . toGObject
-
-instance ItemClass Item
-instance BinClass Item
-instance ContainerClass Item
-instance WidgetClass Item
-instance ObjectClass Item
-instance GObjectClass Item where
-  toGObject = GObject . castForeignPtr . unItem
-  unsafeCastGObject = Item . castForeignPtr . unGObject
-
-castToItem :: GObjectClass obj => obj -> Item
-castToItem = castTo gTypeItem "Item"
-
-gTypeItem :: GType
-gTypeItem =
-  {# call fun unsafe gtk_item_get_type #}
-
 -- ******************************************************************* MenuItem
 
 {#pointer *GtkMenuItem as MenuItem foreign newtype #} deriving (Eq,Ord)
@@ -2356,16 +2115,14 @@
 mkMenuItem = (MenuItem, objectUnrefFromMainloop)
 unMenuItem (MenuItem o) = o
 
-class ItemClass o => MenuItemClass o
+class BinClass o => MenuItemClass o
 toMenuItem :: MenuItemClass o => o -> MenuItem
 toMenuItem = unsafeCastGObject . toGObject
 
 instance MenuItemClass MenuItem
-instance ItemClass MenuItem
 instance BinClass MenuItem
 instance ContainerClass MenuItem
 instance WidgetClass MenuItem
-instance ObjectClass MenuItem
 instance GObjectClass MenuItem where
   toGObject = GObject . castForeignPtr . unMenuItem
   unsafeCastGObject = MenuItem . castForeignPtr . unGObject
@@ -2390,11 +2147,9 @@
 
 instance CheckMenuItemClass CheckMenuItem
 instance MenuItemClass CheckMenuItem
-instance ItemClass CheckMenuItem
 instance BinClass CheckMenuItem
 instance ContainerClass CheckMenuItem
 instance WidgetClass CheckMenuItem
-instance ObjectClass CheckMenuItem
 instance GObjectClass CheckMenuItem where
   toGObject = GObject . castForeignPtr . unCheckMenuItem
   unsafeCastGObject = CheckMenuItem . castForeignPtr . unGObject
@@ -2420,11 +2175,9 @@
 instance RadioMenuItemClass RadioMenuItem
 instance CheckMenuItemClass RadioMenuItem
 instance MenuItemClass RadioMenuItem
-instance ItemClass RadioMenuItem
 instance BinClass RadioMenuItem
 instance ContainerClass RadioMenuItem
 instance WidgetClass RadioMenuItem
-instance ObjectClass RadioMenuItem
 instance GObjectClass RadioMenuItem where
   toGObject = GObject . castForeignPtr . unRadioMenuItem
   unsafeCastGObject = RadioMenuItem . castForeignPtr . unGObject
@@ -2449,11 +2202,9 @@
 
 instance TearoffMenuItemClass TearoffMenuItem
 instance MenuItemClass TearoffMenuItem
-instance ItemClass TearoffMenuItem
 instance BinClass TearoffMenuItem
 instance ContainerClass TearoffMenuItem
 instance WidgetClass TearoffMenuItem
-instance ObjectClass TearoffMenuItem
 instance GObjectClass TearoffMenuItem where
   toGObject = GObject . castForeignPtr . unTearoffMenuItem
   unsafeCastGObject = TearoffMenuItem . castForeignPtr . unGObject
@@ -2478,11 +2229,9 @@
 
 instance ImageMenuItemClass ImageMenuItem
 instance MenuItemClass ImageMenuItem
-instance ItemClass ImageMenuItem
 instance BinClass ImageMenuItem
 instance ContainerClass ImageMenuItem
 instance WidgetClass ImageMenuItem
-instance ObjectClass ImageMenuItem
 instance GObjectClass ImageMenuItem where
   toGObject = GObject . castForeignPtr . unImageMenuItem
   unsafeCastGObject = ImageMenuItem . castForeignPtr . unGObject
@@ -2507,11 +2256,9 @@
 
 instance SeparatorMenuItemClass SeparatorMenuItem
 instance MenuItemClass SeparatorMenuItem
-instance ItemClass SeparatorMenuItem
 instance BinClass SeparatorMenuItem
 instance ContainerClass SeparatorMenuItem
 instance WidgetClass SeparatorMenuItem
-instance ObjectClass SeparatorMenuItem
 instance GObjectClass SeparatorMenuItem where
   toGObject = GObject . castForeignPtr . unSeparatorMenuItem
   unsafeCastGObject = SeparatorMenuItem . castForeignPtr . unGObject
@@ -2523,33 +2270,31 @@
 gTypeSeparatorMenuItem =
   {# call fun unsafe gtk_separator_menu_item_get_type #}
 
--- ******************************************************************* ListItem
+-- ******************************************************************** Overlay
 
-{#pointer *GtkListItem as ListItem foreign newtype #} deriving (Eq,Ord)
+{#pointer *GtkOverlay as Overlay foreign newtype #} deriving (Eq,Ord)
 
-mkListItem = (ListItem, objectUnrefFromMainloop)
-unListItem (ListItem o) = o
+mkOverlay = (Overlay, objectUnrefFromMainloop)
+unOverlay (Overlay o) = o
 
-class ItemClass o => ListItemClass o
-toListItem :: ListItemClass o => o -> ListItem
-toListItem = unsafeCastGObject . toGObject
+class BinClass o => OverlayClass o
+toOverlay :: OverlayClass o => o -> Overlay
+toOverlay = unsafeCastGObject . toGObject
 
-instance ListItemClass ListItem
-instance ItemClass ListItem
-instance BinClass ListItem
-instance ContainerClass ListItem
-instance WidgetClass ListItem
-instance ObjectClass ListItem
-instance GObjectClass ListItem where
-  toGObject = GObject . castForeignPtr . unListItem
-  unsafeCastGObject = ListItem . castForeignPtr . unGObject
+instance OverlayClass Overlay
+instance BinClass Overlay
+instance ContainerClass Overlay
+instance WidgetClass Overlay
+instance GObjectClass Overlay where
+  toGObject = GObject . castForeignPtr . unOverlay
+  unsafeCastGObject = Overlay . castForeignPtr . unGObject
 
-castToListItem :: GObjectClass obj => obj -> ListItem
-castToListItem = castTo gTypeListItem "ListItem"
+castToOverlay :: GObjectClass obj => obj -> Overlay
+castToOverlay = castTo gTypeOverlay "Overlay"
 
-gTypeListItem :: GType
-gTypeListItem =
-  {# call fun unsafe gtk_list_item_get_type #}
+gTypeOverlay :: GType
+gTypeOverlay =
+  {# call fun unsafe gtk_overlay_get_type #}
 
 -- ********************************************************************* Window
 
@@ -2566,7 +2311,6 @@
 instance BinClass Window
 instance ContainerClass Window
 instance WidgetClass Window
-instance ObjectClass Window
 instance GObjectClass Window where
   toGObject = GObject . castForeignPtr . unWindow
   unsafeCastGObject = Window . castForeignPtr . unGObject
@@ -2594,7 +2338,6 @@
 instance BinClass Assistant
 instance ContainerClass Assistant
 instance WidgetClass Assistant
-instance ObjectClass Assistant
 instance GObjectClass Assistant where
   toGObject = GObject . castForeignPtr . unAssistant
   unsafeCastGObject = Assistant . castForeignPtr . unGObject
@@ -2622,7 +2365,6 @@
 instance BinClass OffscreenWindow
 instance ContainerClass OffscreenWindow
 instance WidgetClass OffscreenWindow
-instance ObjectClass OffscreenWindow
 instance GObjectClass OffscreenWindow where
   toGObject = GObject . castForeignPtr . unOffscreenWindow
   unsafeCastGObject = OffscreenWindow . castForeignPtr . unGObject
@@ -2650,7 +2392,6 @@
 instance BinClass Dialog
 instance ContainerClass Dialog
 instance WidgetClass Dialog
-instance ObjectClass Dialog
 instance GObjectClass Dialog where
   toGObject = GObject . castForeignPtr . unDialog
   unsafeCastGObject = Dialog . castForeignPtr . unGObject
@@ -2679,7 +2420,6 @@
 instance BinClass AboutDialog
 instance ContainerClass AboutDialog
 instance WidgetClass AboutDialog
-instance ObjectClass AboutDialog
 instance GObjectClass AboutDialog where
   toGObject = GObject . castForeignPtr . unAboutDialog
   unsafeCastGObject = AboutDialog . castForeignPtr . unGObject
@@ -2708,7 +2448,6 @@
 instance BinClass ColorSelectionDialog
 instance ContainerClass ColorSelectionDialog
 instance WidgetClass ColorSelectionDialog
-instance ObjectClass ColorSelectionDialog
 instance GObjectClass ColorSelectionDialog where
   toGObject = GObject . castForeignPtr . unColorSelectionDialog
   unsafeCastGObject = ColorSelectionDialog . castForeignPtr . unGObject
@@ -2720,35 +2459,6 @@
 gTypeColorSelectionDialog =
   {# call fun unsafe gtk_color_selection_dialog_get_type #}
 
--- ************************************************************** FileSelection
-
-{#pointer *GtkFileSelection as FileSelection foreign newtype #} deriving (Eq,Ord)
-
-mkFileSelection = (FileSelection, objectUnrefFromMainloop)
-unFileSelection (FileSelection o) = o
-
-class DialogClass o => FileSelectionClass o
-toFileSelection :: FileSelectionClass o => o -> FileSelection
-toFileSelection = unsafeCastGObject . toGObject
-
-instance FileSelectionClass FileSelection
-instance DialogClass FileSelection
-instance WindowClass FileSelection
-instance BinClass FileSelection
-instance ContainerClass FileSelection
-instance WidgetClass FileSelection
-instance ObjectClass FileSelection
-instance GObjectClass FileSelection where
-  toGObject = GObject . castForeignPtr . unFileSelection
-  unsafeCastGObject = FileSelection . castForeignPtr . unGObject
-
-castToFileSelection :: GObjectClass obj => obj -> FileSelection
-castToFileSelection = castTo gTypeFileSelection "FileSelection"
-
-gTypeFileSelection :: GType
-gTypeFileSelection =
-  {# call fun unsafe gtk_file_selection_get_type #}
-
 -- ********************************************************** FileChooserDialog
 
 {#pointer *GtkFileChooserDialog as FileChooserDialog foreign newtype #} deriving (Eq,Ord)
@@ -2766,7 +2476,6 @@
 instance BinClass FileChooserDialog
 instance ContainerClass FileChooserDialog
 instance WidgetClass FileChooserDialog
-instance ObjectClass FileChooserDialog
 instance GObjectClass FileChooserDialog where
   toGObject = GObject . castForeignPtr . unFileChooserDialog
   unsafeCastGObject = FileChooserDialog . castForeignPtr . unGObject
@@ -2795,7 +2504,6 @@
 instance BinClass FontSelectionDialog
 instance ContainerClass FontSelectionDialog
 instance WidgetClass FontSelectionDialog
-instance ObjectClass FontSelectionDialog
 instance GObjectClass FontSelectionDialog where
   toGObject = GObject . castForeignPtr . unFontSelectionDialog
   unsafeCastGObject = FontSelectionDialog . castForeignPtr . unGObject
@@ -2807,35 +2515,6 @@
 gTypeFontSelectionDialog =
   {# call fun unsafe gtk_font_selection_dialog_get_type #}
 
--- **************************************************************** InputDialog
-
-{#pointer *GtkInputDialog as InputDialog foreign newtype #} deriving (Eq,Ord)
-
-mkInputDialog = (InputDialog, objectUnrefFromMainloop)
-unInputDialog (InputDialog o) = o
-
-class DialogClass o => InputDialogClass o
-toInputDialog :: InputDialogClass o => o -> InputDialog
-toInputDialog = unsafeCastGObject . toGObject
-
-instance InputDialogClass InputDialog
-instance DialogClass InputDialog
-instance WindowClass InputDialog
-instance BinClass InputDialog
-instance ContainerClass InputDialog
-instance WidgetClass InputDialog
-instance ObjectClass InputDialog
-instance GObjectClass InputDialog where
-  toGObject = GObject . castForeignPtr . unInputDialog
-  unsafeCastGObject = InputDialog . castForeignPtr . unGObject
-
-castToInputDialog :: GObjectClass obj => obj -> InputDialog
-castToInputDialog = castTo gTypeInputDialog "InputDialog"
-
-gTypeInputDialog :: GType
-gTypeInputDialog =
-  {# call fun unsafe gtk_input_dialog_get_type #}
-
 -- ************************************************************** MessageDialog
 
 {#pointer *GtkMessageDialog as MessageDialog foreign newtype #} deriving (Eq,Ord)
@@ -2853,7 +2532,6 @@
 instance BinClass MessageDialog
 instance ContainerClass MessageDialog
 instance WidgetClass MessageDialog
-instance ObjectClass MessageDialog
 instance GObjectClass MessageDialog where
   toGObject = GObject . castForeignPtr . unMessageDialog
   unsafeCastGObject = MessageDialog . castForeignPtr . unGObject
@@ -2880,7 +2558,6 @@
 instance BinClass EventBox
 instance ContainerClass EventBox
 instance WidgetClass EventBox
-instance ObjectClass EventBox
 instance GObjectClass EventBox where
   toGObject = GObject . castForeignPtr . unEventBox
   unsafeCastGObject = EventBox . castForeignPtr . unGObject
@@ -2907,7 +2584,6 @@
 instance BinClass HandleBox
 instance ContainerClass HandleBox
 instance WidgetClass HandleBox
-instance ObjectClass HandleBox
 instance GObjectClass HandleBox where
   toGObject = GObject . castForeignPtr . unHandleBox
   unsafeCastGObject = HandleBox . castForeignPtr . unGObject
@@ -2934,7 +2610,6 @@
 instance BinClass ScrolledWindow
 instance ContainerClass ScrolledWindow
 instance WidgetClass ScrolledWindow
-instance ObjectClass ScrolledWindow
 instance GObjectClass ScrolledWindow where
   toGObject = GObject . castForeignPtr . unScrolledWindow
   unsafeCastGObject = ScrolledWindow . castForeignPtr . unGObject
@@ -2961,7 +2636,6 @@
 instance BinClass Viewport
 instance ContainerClass Viewport
 instance WidgetClass Viewport
-instance ObjectClass Viewport
 instance GObjectClass Viewport where
   toGObject = GObject . castForeignPtr . unViewport
   unsafeCastGObject = Viewport . castForeignPtr . unGObject
@@ -2988,7 +2662,6 @@
 instance BinClass Expander
 instance ContainerClass Expander
 instance WidgetClass Expander
-instance ObjectClass Expander
 instance GObjectClass Expander where
   toGObject = GObject . castForeignPtr . unExpander
   unsafeCastGObject = Expander . castForeignPtr . unGObject
@@ -3015,7 +2688,6 @@
 instance BinClass ComboBox
 instance ContainerClass ComboBox
 instance WidgetClass ComboBox
-instance ObjectClass ComboBox
 instance GObjectClass ComboBox where
   toGObject = GObject . castForeignPtr . unComboBox
   unsafeCastGObject = ComboBox . castForeignPtr . unGObject
@@ -3027,34 +2699,6 @@
 gTypeComboBox =
   {# call fun unsafe gtk_combo_box_get_type #}
 
--- ************************************************************** ComboBoxEntry
-
-{#pointer *GtkComboBoxEntry as ComboBoxEntry foreign newtype #} deriving (Eq,Ord)
-
-mkComboBoxEntry = (ComboBoxEntry, objectUnrefFromMainloop)
-unComboBoxEntry (ComboBoxEntry o) = o
-
-class ComboBoxClass o => ComboBoxEntryClass o
-toComboBoxEntry :: ComboBoxEntryClass o => o -> ComboBoxEntry
-toComboBoxEntry = unsafeCastGObject . toGObject
-
-instance ComboBoxEntryClass ComboBoxEntry
-instance ComboBoxClass ComboBoxEntry
-instance BinClass ComboBoxEntry
-instance ContainerClass ComboBoxEntry
-instance WidgetClass ComboBoxEntry
-instance ObjectClass ComboBoxEntry
-instance GObjectClass ComboBoxEntry where
-  toGObject = GObject . castForeignPtr . unComboBoxEntry
-  unsafeCastGObject = ComboBoxEntry . castForeignPtr . unGObject
-
-castToComboBoxEntry :: GObjectClass obj => obj -> ComboBoxEntry
-castToComboBoxEntry = castTo gTypeComboBoxEntry "ComboBoxEntry"
-
-gTypeComboBoxEntry :: GType
-gTypeComboBoxEntry =
-  {# call fun unsafe gtk_combo_box_entry_get_type #}
-
 -- ******************************************************************* ToolItem
 
 {#pointer *GtkToolItem as ToolItem foreign newtype #} deriving (Eq,Ord)
@@ -3070,7 +2714,6 @@
 instance BinClass ToolItem
 instance ContainerClass ToolItem
 instance WidgetClass ToolItem
-instance ObjectClass ToolItem
 instance GObjectClass ToolItem where
   toGObject = GObject . castForeignPtr . unToolItem
   unsafeCastGObject = ToolItem . castForeignPtr . unGObject
@@ -3098,7 +2741,6 @@
 instance BinClass ToolButton
 instance ContainerClass ToolButton
 instance WidgetClass ToolButton
-instance ObjectClass ToolButton
 instance GObjectClass ToolButton where
   toGObject = GObject . castForeignPtr . unToolButton
   unsafeCastGObject = ToolButton . castForeignPtr . unGObject
@@ -3127,7 +2769,6 @@
 instance BinClass MenuToolButton
 instance ContainerClass MenuToolButton
 instance WidgetClass MenuToolButton
-instance ObjectClass MenuToolButton
 instance GObjectClass MenuToolButton where
   toGObject = GObject . castForeignPtr . unMenuToolButton
   unsafeCastGObject = MenuToolButton . castForeignPtr . unGObject
@@ -3156,7 +2797,6 @@
 instance BinClass ToggleToolButton
 instance ContainerClass ToggleToolButton
 instance WidgetClass ToggleToolButton
-instance ObjectClass ToggleToolButton
 instance GObjectClass ToggleToolButton where
   toGObject = GObject . castForeignPtr . unToggleToolButton
   unsafeCastGObject = ToggleToolButton . castForeignPtr . unGObject
@@ -3186,7 +2826,6 @@
 instance BinClass RadioToolButton
 instance ContainerClass RadioToolButton
 instance WidgetClass RadioToolButton
-instance ObjectClass RadioToolButton
 instance GObjectClass RadioToolButton where
   toGObject = GObject . castForeignPtr . unRadioToolButton
   unsafeCastGObject = RadioToolButton . castForeignPtr . unGObject
@@ -3214,7 +2853,6 @@
 instance BinClass SeparatorToolItem
 instance ContainerClass SeparatorToolItem
 instance WidgetClass SeparatorToolItem
-instance ObjectClass SeparatorToolItem
 instance GObjectClass SeparatorToolItem where
   toGObject = GObject . castForeignPtr . unSeparatorToolItem
   unsafeCastGObject = SeparatorToolItem . castForeignPtr . unGObject
@@ -3240,7 +2878,6 @@
 instance BoxClass Box
 instance ContainerClass Box
 instance WidgetClass Box
-instance ObjectClass Box
 instance GObjectClass Box where
   toGObject = GObject . castForeignPtr . unBox
   unsafeCastGObject = Box . castForeignPtr . unGObject
@@ -3267,7 +2904,6 @@
 instance BoxClass ButtonBox
 instance ContainerClass ButtonBox
 instance WidgetClass ButtonBox
-instance ObjectClass ButtonBox
 instance GObjectClass ButtonBox where
   toGObject = GObject . castForeignPtr . unButtonBox
   unsafeCastGObject = ButtonBox . castForeignPtr . unGObject
@@ -3295,7 +2931,6 @@
 instance BoxClass HButtonBox
 instance ContainerClass HButtonBox
 instance WidgetClass HButtonBox
-instance ObjectClass HButtonBox
 instance GObjectClass HButtonBox where
   toGObject = GObject . castForeignPtr . unHButtonBox
   unsafeCastGObject = HButtonBox . castForeignPtr . unGObject
@@ -3323,7 +2958,6 @@
 instance BoxClass VButtonBox
 instance ContainerClass VButtonBox
 instance WidgetClass VButtonBox
-instance ObjectClass VButtonBox
 instance GObjectClass VButtonBox where
   toGObject = GObject . castForeignPtr . unVButtonBox
   unsafeCastGObject = VButtonBox . castForeignPtr . unGObject
@@ -3350,7 +2984,6 @@
 instance BoxClass VBox
 instance ContainerClass VBox
 instance WidgetClass VBox
-instance ObjectClass VBox
 instance GObjectClass VBox where
   toGObject = GObject . castForeignPtr . unVBox
   unsafeCastGObject = VBox . castForeignPtr . unGObject
@@ -3378,7 +3011,6 @@
 instance BoxClass RecentChooserWidget
 instance ContainerClass RecentChooserWidget
 instance WidgetClass RecentChooserWidget
-instance ObjectClass RecentChooserWidget
 instance GObjectClass RecentChooserWidget where
   toGObject = GObject . castForeignPtr . unRecentChooserWidget
   unsafeCastGObject = RecentChooserWidget . castForeignPtr . unGObject
@@ -3406,7 +3038,6 @@
 instance BoxClass ColorSelection
 instance ContainerClass ColorSelection
 instance WidgetClass ColorSelection
-instance ObjectClass ColorSelection
 instance GObjectClass ColorSelection where
   toGObject = GObject . castForeignPtr . unColorSelection
   unsafeCastGObject = ColorSelection . castForeignPtr . unGObject
@@ -3434,7 +3065,6 @@
 instance BoxClass FontSelection
 instance ContainerClass FontSelection
 instance WidgetClass FontSelection
-instance ObjectClass FontSelection
 instance GObjectClass FontSelection where
   toGObject = GObject . castForeignPtr . unFontSelection
   unsafeCastGObject = FontSelection . castForeignPtr . unGObject
@@ -3462,7 +3092,6 @@
 instance BoxClass FileChooserWidget
 instance ContainerClass FileChooserWidget
 instance WidgetClass FileChooserWidget
-instance ObjectClass FileChooserWidget
 instance GObjectClass FileChooserWidget where
   toGObject = GObject . castForeignPtr . unFileChooserWidget
   unsafeCastGObject = FileChooserWidget . castForeignPtr . unGObject
@@ -3489,7 +3118,6 @@
 instance BoxClass HBox
 instance ContainerClass HBox
 instance WidgetClass HBox
-instance ObjectClass HBox
 instance GObjectClass HBox where
   toGObject = GObject . castForeignPtr . unHBox
   unsafeCastGObject = HBox . castForeignPtr . unGObject
@@ -3517,7 +3145,6 @@
 instance BoxClass InfoBar
 instance ContainerClass InfoBar
 instance WidgetClass InfoBar
-instance ObjectClass InfoBar
 instance GObjectClass InfoBar where
   toGObject = GObject . castForeignPtr . unInfoBar
   unsafeCastGObject = InfoBar . castForeignPtr . unGObject
@@ -3529,34 +3156,6 @@
 gTypeInfoBar =
   {# call fun unsafe gtk_info_bar_get_type #}
 
--- ********************************************************************** Combo
-
-{#pointer *GtkCombo as Combo foreign newtype #} deriving (Eq,Ord)
-
-mkCombo = (Combo, objectUnrefFromMainloop)
-unCombo (Combo o) = o
-
-class HBoxClass o => ComboClass o
-toCombo :: ComboClass o => o -> Combo
-toCombo = unsafeCastGObject . toGObject
-
-instance ComboClass Combo
-instance HBoxClass Combo
-instance BoxClass Combo
-instance ContainerClass Combo
-instance WidgetClass Combo
-instance ObjectClass Combo
-instance GObjectClass Combo where
-  toGObject = GObject . castForeignPtr . unCombo
-  unsafeCastGObject = Combo . castForeignPtr . unGObject
-
-castToCombo :: GObjectClass obj => obj -> Combo
-castToCombo = castTo gTypeCombo "Combo"
-
-gTypeCombo :: GType
-gTypeCombo =
-  {# call fun unsafe gtk_combo_get_type #}
-
 -- ********************************************************** FileChooserButton
 
 {#pointer *GtkFileChooserButton as FileChooserButton foreign newtype #} deriving (Eq,Ord)
@@ -3573,7 +3172,6 @@
 instance BoxClass FileChooserButton
 instance ContainerClass FileChooserButton
 instance WidgetClass FileChooserButton
-instance ObjectClass FileChooserButton
 instance GObjectClass FileChooserButton where
   toGObject = GObject . castForeignPtr . unFileChooserButton
   unsafeCastGObject = FileChooserButton . castForeignPtr . unGObject
@@ -3601,7 +3199,6 @@
 instance BoxClass Statusbar
 instance ContainerClass Statusbar
 instance WidgetClass Statusbar
-instance ObjectClass Statusbar
 instance GObjectClass Statusbar where
   toGObject = GObject . castForeignPtr . unStatusbar
   unsafeCastGObject = Statusbar . castForeignPtr . unGObject
@@ -3613,59 +3210,6 @@
 gTypeStatusbar =
   {# call fun unsafe gtk_statusbar_get_type #}
 
--- ********************************************************************** CList
-
-{#pointer *GtkCList as CList foreign newtype #} deriving (Eq,Ord)
-
-mkCList = (CList, objectUnrefFromMainloop)
-unCList (CList o) = o
-
-class ContainerClass o => CListClass o
-toCList :: CListClass o => o -> CList
-toCList = unsafeCastGObject . toGObject
-
-instance CListClass CList
-instance ContainerClass CList
-instance WidgetClass CList
-instance ObjectClass CList
-instance GObjectClass CList where
-  toGObject = GObject . castForeignPtr . unCList
-  unsafeCastGObject = CList . castForeignPtr . unGObject
-
-castToCList :: GObjectClass obj => obj -> CList
-castToCList = castTo gTypeCList "CList"
-
-gTypeCList :: GType
-gTypeCList =
-  {# call fun unsafe gtk_clist_get_type #}
-
--- ********************************************************************** CTree
-
-{#pointer *GtkCTree as CTree foreign newtype #} deriving (Eq,Ord)
-
-mkCTree = (CTree, objectUnrefFromMainloop)
-unCTree (CTree o) = o
-
-class CListClass o => CTreeClass o
-toCTree :: CTreeClass o => o -> CTree
-toCTree = unsafeCastGObject . toGObject
-
-instance CTreeClass CTree
-instance CListClass CTree
-instance ContainerClass CTree
-instance WidgetClass CTree
-instance ObjectClass CTree
-instance GObjectClass CTree where
-  toGObject = GObject . castForeignPtr . unCTree
-  unsafeCastGObject = CTree . castForeignPtr . unGObject
-
-castToCTree :: GObjectClass obj => obj -> CTree
-castToCTree = castTo gTypeCTree "CTree"
-
-gTypeCTree :: GType
-gTypeCTree =
-  {# call fun unsafe gtk_ctree_get_type #}
-
 -- ********************************************************************** Fixed
 
 {#pointer *GtkFixed as Fixed foreign newtype #} deriving (Eq,Ord)
@@ -3680,7 +3224,6 @@
 instance FixedClass Fixed
 instance ContainerClass Fixed
 instance WidgetClass Fixed
-instance ObjectClass Fixed
 instance GObjectClass Fixed where
   toGObject = GObject . castForeignPtr . unFixed
   unsafeCastGObject = Fixed . castForeignPtr . unGObject
@@ -3706,7 +3249,6 @@
 instance PanedClass Paned
 instance ContainerClass Paned
 instance WidgetClass Paned
-instance ObjectClass Paned
 instance GObjectClass Paned where
   toGObject = GObject . castForeignPtr . unPaned
   unsafeCastGObject = Paned . castForeignPtr . unGObject
@@ -3733,7 +3275,6 @@
 instance PanedClass HPaned
 instance ContainerClass HPaned
 instance WidgetClass HPaned
-instance ObjectClass HPaned
 instance GObjectClass HPaned where
   toGObject = GObject . castForeignPtr . unHPaned
   unsafeCastGObject = HPaned . castForeignPtr . unGObject
@@ -3760,7 +3301,6 @@
 instance PanedClass VPaned
 instance ContainerClass VPaned
 instance WidgetClass VPaned
-instance ObjectClass VPaned
 instance GObjectClass VPaned where
   toGObject = GObject . castForeignPtr . unVPaned
   unsafeCastGObject = VPaned . castForeignPtr . unGObject
@@ -3786,7 +3326,6 @@
 instance IconViewClass IconView
 instance ContainerClass IconView
 instance WidgetClass IconView
-instance ObjectClass IconView
 instance GObjectClass IconView where
   toGObject = GObject . castForeignPtr . unIconView
   unsafeCastGObject = IconView . castForeignPtr . unGObject
@@ -3812,7 +3351,6 @@
 instance LayoutClass Layout
 instance ContainerClass Layout
 instance WidgetClass Layout
-instance ObjectClass Layout
 instance GObjectClass Layout where
   toGObject = GObject . castForeignPtr . unLayout
   unsafeCastGObject = Layout . castForeignPtr . unGObject
@@ -3824,32 +3362,6 @@
 gTypeLayout =
   {# call fun unsafe gtk_layout_get_type #}
 
--- *********************************************************************** List
-
-{#pointer *GtkList as List foreign newtype #} deriving (Eq,Ord)
-
-mkList = (List, objectUnrefFromMainloop)
-unList (List o) = o
-
-class ContainerClass o => ListClass o
-toList :: ListClass o => o -> List
-toList = unsafeCastGObject . toGObject
-
-instance ListClass List
-instance ContainerClass List
-instance WidgetClass List
-instance ObjectClass List
-instance GObjectClass List where
-  toGObject = GObject . castForeignPtr . unList
-  unsafeCastGObject = List . castForeignPtr . unGObject
-
-castToList :: GObjectClass obj => obj -> List
-castToList = castTo gTypeList "List"
-
-gTypeList :: GType
-gTypeList =
-  {# call fun unsafe gtk_list_get_type #}
-
 -- ****************************************************************** MenuShell
 
 {#pointer *GtkMenuShell as MenuShell foreign newtype #} deriving (Eq,Ord)
@@ -3864,7 +3376,6 @@
 instance MenuShellClass MenuShell
 instance ContainerClass MenuShell
 instance WidgetClass MenuShell
-instance ObjectClass MenuShell
 instance GObjectClass MenuShell where
   toGObject = GObject . castForeignPtr . unMenuShell
   unsafeCastGObject = MenuShell . castForeignPtr . unGObject
@@ -3891,7 +3402,6 @@
 instance MenuShellClass Menu
 instance ContainerClass Menu
 instance WidgetClass Menu
-instance ObjectClass Menu
 instance GObjectClass Menu where
   toGObject = GObject . castForeignPtr . unMenu
   unsafeCastGObject = Menu . castForeignPtr . unGObject
@@ -3919,7 +3429,6 @@
 instance MenuShellClass RecentChooserMenu
 instance ContainerClass RecentChooserMenu
 instance WidgetClass RecentChooserMenu
-instance ObjectClass RecentChooserMenu
 instance GObjectClass RecentChooserMenu where
   toGObject = GObject . castForeignPtr . unRecentChooserMenu
   unsafeCastGObject = RecentChooserMenu . castForeignPtr . unGObject
@@ -3946,7 +3455,6 @@
 instance MenuShellClass MenuBar
 instance ContainerClass MenuBar
 instance WidgetClass MenuBar
-instance ObjectClass MenuBar
 instance GObjectClass MenuBar where
   toGObject = GObject . castForeignPtr . unMenuBar
   unsafeCastGObject = MenuBar . castForeignPtr . unGObject
@@ -3972,7 +3480,6 @@
 instance NotebookClass Notebook
 instance ContainerClass Notebook
 instance WidgetClass Notebook
-instance ObjectClass Notebook
 instance GObjectClass Notebook where
   toGObject = GObject . castForeignPtr . unNotebook
   unsafeCastGObject = Notebook . castForeignPtr . unGObject
@@ -3998,7 +3505,6 @@
 instance TableClass Table
 instance ContainerClass Table
 instance WidgetClass Table
-instance ObjectClass Table
 instance GObjectClass Table where
   toGObject = GObject . castForeignPtr . unTable
   unsafeCastGObject = Table . castForeignPtr . unGObject
@@ -4024,7 +3530,6 @@
 instance TextViewClass TextView
 instance ContainerClass TextView
 instance WidgetClass TextView
-instance ObjectClass TextView
 instance GObjectClass TextView where
   toGObject = GObject . castForeignPtr . unTextView
   unsafeCastGObject = TextView . castForeignPtr . unGObject
@@ -4050,7 +3555,6 @@
 instance ToolbarClass Toolbar
 instance ContainerClass Toolbar
 instance WidgetClass Toolbar
-instance ObjectClass Toolbar
 instance GObjectClass Toolbar where
   toGObject = GObject . castForeignPtr . unToolbar
   unsafeCastGObject = Toolbar . castForeignPtr . unGObject
@@ -4076,7 +3580,6 @@
 instance TreeViewClass TreeView
 instance ContainerClass TreeView
 instance WidgetClass TreeView
-instance ObjectClass TreeView
 instance GObjectClass TreeView where
   toGObject = GObject . castForeignPtr . unTreeView
   unsafeCastGObject = TreeView . castForeignPtr . unGObject
@@ -4101,7 +3604,6 @@
 
 instance CalendarClass Calendar
 instance WidgetClass Calendar
-instance ObjectClass Calendar
 instance GObjectClass Calendar where
   toGObject = GObject . castForeignPtr . unCalendar
   unsafeCastGObject = Calendar . castForeignPtr . unGObject
@@ -4126,7 +3628,6 @@
 
 instance CellViewClass CellView
 instance WidgetClass CellView
-instance ObjectClass CellView
 instance GObjectClass CellView where
   toGObject = GObject . castForeignPtr . unCellView
   unsafeCastGObject = CellView . castForeignPtr . unGObject
@@ -4151,7 +3652,6 @@
 
 instance DrawingAreaClass DrawingArea
 instance WidgetClass DrawingArea
-instance ObjectClass DrawingArea
 instance GObjectClass DrawingArea where
   toGObject = GObject . castForeignPtr . unDrawingArea
   unsafeCastGObject = DrawingArea . castForeignPtr . unGObject
@@ -4177,7 +3677,6 @@
 instance SpinnerClass Spinner
 instance DrawingAreaClass Spinner
 instance WidgetClass Spinner
-instance ObjectClass Spinner
 instance GObjectClass Spinner where
   toGObject = GObject . castForeignPtr . unSpinner
   unsafeCastGObject = Spinner . castForeignPtr . unGObject
@@ -4202,7 +3701,6 @@
 
 instance EntryClass Entry
 instance WidgetClass Entry
-instance ObjectClass Entry
 instance GObjectClass Entry where
   toGObject = GObject . castForeignPtr . unEntry
   unsafeCastGObject = Entry . castForeignPtr . unGObject
@@ -4228,7 +3726,6 @@
 instance SpinButtonClass SpinButton
 instance EntryClass SpinButton
 instance WidgetClass SpinButton
-instance ObjectClass SpinButton
 instance GObjectClass SpinButton where
   toGObject = GObject . castForeignPtr . unSpinButton
   unsafeCastGObject = SpinButton . castForeignPtr . unGObject
@@ -4240,83 +3737,6 @@
 gTypeSpinButton =
   {# call fun unsafe gtk_spin_button_get_type #}
 
--- ********************************************************************** Ruler
-
-{#pointer *GtkRuler as Ruler foreign newtype #} deriving (Eq,Ord)
-
-mkRuler = (Ruler, objectUnrefFromMainloop)
-unRuler (Ruler o) = o
-
-class WidgetClass o => RulerClass o
-toRuler :: RulerClass o => o -> Ruler
-toRuler = unsafeCastGObject . toGObject
-
-instance RulerClass Ruler
-instance WidgetClass Ruler
-instance ObjectClass Ruler
-instance GObjectClass Ruler where
-  toGObject = GObject . castForeignPtr . unRuler
-  unsafeCastGObject = Ruler . castForeignPtr . unGObject
-
-castToRuler :: GObjectClass obj => obj -> Ruler
-castToRuler = castTo gTypeRuler "Ruler"
-
-gTypeRuler :: GType
-gTypeRuler =
-  {# call fun unsafe gtk_ruler_get_type #}
-
--- ********************************************************************* HRuler
-
-{#pointer *GtkHRuler as HRuler foreign newtype #} deriving (Eq,Ord)
-
-mkHRuler = (HRuler, objectUnrefFromMainloop)
-unHRuler (HRuler o) = o
-
-class RulerClass o => HRulerClass o
-toHRuler :: HRulerClass o => o -> HRuler
-toHRuler = unsafeCastGObject . toGObject
-
-instance HRulerClass HRuler
-instance RulerClass HRuler
-instance WidgetClass HRuler
-instance ObjectClass HRuler
-instance GObjectClass HRuler where
-  toGObject = GObject . castForeignPtr . unHRuler
-  unsafeCastGObject = HRuler . castForeignPtr . unGObject
-
-castToHRuler :: GObjectClass obj => obj -> HRuler
-castToHRuler = castTo gTypeHRuler "HRuler"
-
-gTypeHRuler :: GType
-gTypeHRuler =
-  {# call fun unsafe gtk_hruler_get_type #}
-
--- ********************************************************************* VRuler
-
-{#pointer *GtkVRuler as VRuler foreign newtype #} deriving (Eq,Ord)
-
-mkVRuler = (VRuler, objectUnrefFromMainloop)
-unVRuler (VRuler o) = o
-
-class RulerClass o => VRulerClass o
-toVRuler :: VRulerClass o => o -> VRuler
-toVRuler = unsafeCastGObject . toGObject
-
-instance VRulerClass VRuler
-instance RulerClass VRuler
-instance WidgetClass VRuler
-instance ObjectClass VRuler
-instance GObjectClass VRuler where
-  toGObject = GObject . castForeignPtr . unVRuler
-  unsafeCastGObject = VRuler . castForeignPtr . unGObject
-
-castToVRuler :: GObjectClass obj => obj -> VRuler
-castToVRuler = castTo gTypeVRuler "VRuler"
-
-gTypeVRuler :: GType
-gTypeVRuler =
-  {# call fun unsafe gtk_vruler_get_type #}
-
 -- ********************************************************************** Range
 
 {#pointer *GtkRange as Range foreign newtype #} deriving (Eq,Ord)
@@ -4330,7 +3750,6 @@
 
 instance RangeClass Range
 instance WidgetClass Range
-instance ObjectClass Range
 instance GObjectClass Range where
   toGObject = GObject . castForeignPtr . unRange
   unsafeCastGObject = Range . castForeignPtr . unGObject
@@ -4356,7 +3775,6 @@
 instance ScaleClass Scale
 instance RangeClass Scale
 instance WidgetClass Scale
-instance ObjectClass Scale
 instance GObjectClass Scale where
   toGObject = GObject . castForeignPtr . unScale
   unsafeCastGObject = Scale . castForeignPtr . unGObject
@@ -4383,7 +3801,6 @@
 instance ScaleClass HScale
 instance RangeClass HScale
 instance WidgetClass HScale
-instance ObjectClass HScale
 instance GObjectClass HScale where
   toGObject = GObject . castForeignPtr . unHScale
   unsafeCastGObject = HScale . castForeignPtr . unGObject
@@ -4410,7 +3827,6 @@
 instance ScaleClass VScale
 instance RangeClass VScale
 instance WidgetClass VScale
-instance ObjectClass VScale
 instance GObjectClass VScale where
   toGObject = GObject . castForeignPtr . unVScale
   unsafeCastGObject = VScale . castForeignPtr . unGObject
@@ -4436,7 +3852,6 @@
 instance ScrollbarClass Scrollbar
 instance RangeClass Scrollbar
 instance WidgetClass Scrollbar
-instance ObjectClass Scrollbar
 instance GObjectClass Scrollbar where
   toGObject = GObject . castForeignPtr . unScrollbar
   unsafeCastGObject = Scrollbar . castForeignPtr . unGObject
@@ -4463,7 +3878,6 @@
 instance ScrollbarClass HScrollbar
 instance RangeClass HScrollbar
 instance WidgetClass HScrollbar
-instance ObjectClass HScrollbar
 instance GObjectClass HScrollbar where
   toGObject = GObject . castForeignPtr . unHScrollbar
   unsafeCastGObject = HScrollbar . castForeignPtr . unGObject
@@ -4490,7 +3904,6 @@
 instance ScrollbarClass VScrollbar
 instance RangeClass VScrollbar
 instance WidgetClass VScrollbar
-instance ObjectClass VScrollbar
 instance GObjectClass VScrollbar where
   toGObject = GObject . castForeignPtr . unVScrollbar
   unsafeCastGObject = VScrollbar . castForeignPtr . unGObject
@@ -4515,7 +3928,6 @@
 
 instance SeparatorClass Separator
 instance WidgetClass Separator
-instance ObjectClass Separator
 instance GObjectClass Separator where
   toGObject = GObject . castForeignPtr . unSeparator
   unsafeCastGObject = Separator . castForeignPtr . unGObject
@@ -4541,7 +3953,6 @@
 instance HSeparatorClass HSeparator
 instance SeparatorClass HSeparator
 instance WidgetClass HSeparator
-instance ObjectClass HSeparator
 instance GObjectClass HSeparator where
   toGObject = GObject . castForeignPtr . unHSeparator
   unsafeCastGObject = HSeparator . castForeignPtr . unGObject
@@ -4567,7 +3978,6 @@
 instance VSeparatorClass VSeparator
 instance SeparatorClass VSeparator
 instance WidgetClass VSeparator
-instance ObjectClass VSeparator
 instance GObjectClass VSeparator where
   toGObject = GObject . castForeignPtr . unVSeparator
   unsafeCastGObject = VSeparator . castForeignPtr . unGObject
@@ -4592,7 +4002,6 @@
 
 instance InvisibleClass Invisible
 instance WidgetClass Invisible
-instance ObjectClass Invisible
 instance GObjectClass Invisible where
   toGObject = GObject . castForeignPtr . unInvisible
   unsafeCastGObject = Invisible . castForeignPtr . unGObject
@@ -4604,31 +4013,6 @@
 gTypeInvisible =
   {# call fun unsafe gtk_invisible_get_type #}
 
--- ******************************************************************** Preview
-
-{#pointer *GtkPreview as Preview foreign newtype #} deriving (Eq,Ord)
-
-mkPreview = (Preview, objectUnrefFromMainloop)
-unPreview (Preview o) = o
-
-class WidgetClass o => PreviewClass o
-toPreview :: PreviewClass o => o -> Preview
-toPreview = unsafeCastGObject . toGObject
-
-instance PreviewClass Preview
-instance WidgetClass Preview
-instance ObjectClass Preview
-instance GObjectClass Preview where
-  toGObject = GObject . castForeignPtr . unPreview
-  unsafeCastGObject = Preview . castForeignPtr . unGObject
-
-castToPreview :: GObjectClass obj => obj -> Preview
-castToPreview = castTo gTypePreview "Preview"
-
-gTypePreview :: GType
-gTypePreview =
-  {# call fun unsafe gtk_preview_get_type #}
-
 -- **************************************************************** ProgressBar
 
 {#pointer *GtkProgressBar as ProgressBar foreign newtype #} deriving (Eq,Ord)
@@ -4642,7 +4026,6 @@
 
 instance ProgressBarClass ProgressBar
 instance WidgetClass ProgressBar
-instance ObjectClass ProgressBar
 instance GObjectClass ProgressBar where
   toGObject = GObject . castForeignPtr . unProgressBar
   unsafeCastGObject = ProgressBar . castForeignPtr . unGObject
@@ -4654,6 +4037,30 @@
 gTypeProgressBar =
   {# call fun unsafe gtk_progress_bar_get_type #}
 
+-- ******************************************************************* LevelBar
+
+{#pointer *GtkLevelBar as LevelBar foreign newtype #} deriving (Eq,Ord)
+
+mkLevelBar = (LevelBar, objectUnrefFromMainloop)
+unLevelBar (LevelBar o) = o
+
+class WidgetClass o => LevelBarClass o
+toLevelBar :: LevelBarClass o => o -> LevelBar
+toLevelBar = unsafeCastGObject . toGObject
+
+instance LevelBarClass LevelBar
+instance WidgetClass LevelBar
+instance GObjectClass LevelBar where
+  toGObject = GObject . castForeignPtr . unLevelBar
+  unsafeCastGObject = LevelBar . castForeignPtr . unGObject
+
+castToLevelBar :: GObjectClass obj => obj -> LevelBar
+castToLevelBar = castTo gTypeLevelBar "LevelBar"
+
+gTypeLevelBar :: GType
+gTypeLevelBar =
+  {# call fun unsafe gtk_level_bar_get_type #}
+
 -- ***************************************************************** Adjustment
 
 {#pointer *GtkAdjustment as Adjustment foreign newtype #} deriving (Eq,Ord)
@@ -4661,12 +4068,11 @@
 mkAdjustment = (Adjustment, objectUnrefFromMainloop)
 unAdjustment (Adjustment o) = o
 
-class ObjectClass o => AdjustmentClass o
+class GObjectClass o => AdjustmentClass o
 toAdjustment :: AdjustmentClass o => o -> Adjustment
 toAdjustment = unsafeCastGObject . toGObject
 
 instance AdjustmentClass Adjustment
-instance ObjectClass Adjustment
 instance GObjectClass Adjustment where
   toGObject = GObject . castForeignPtr . unAdjustment
   unsafeCastGObject = Adjustment . castForeignPtr . unGObject
@@ -4685,12 +4091,11 @@
 mkIMContext = (IMContext, objectUnrefFromMainloop)
 unIMContext (IMContext o) = o
 
-class ObjectClass o => IMContextClass o
+class GObjectClass o => IMContextClass o
 toIMContext :: IMContextClass o => o -> IMContext
 toIMContext = unsafeCastGObject . toGObject
 
 instance IMContextClass IMContext
-instance ObjectClass IMContext
 instance GObjectClass IMContext where
   toGObject = GObject . castForeignPtr . unIMContext
   unsafeCastGObject = IMContext . castForeignPtr . unGObject
@@ -4715,7 +4120,6 @@
 
 instance IMMulticontextClass IMMulticontext
 instance IMContextClass IMMulticontext
-instance ObjectClass IMMulticontext
 instance GObjectClass IMMulticontext where
   toGObject = GObject . castForeignPtr . unIMMulticontext
   unsafeCastGObject = IMMulticontext . castForeignPtr . unGObject
@@ -4740,7 +4144,6 @@
 
 instance IMContextSimpleClass IMContextSimple
 instance IMContextClass IMContextSimple
-instance ObjectClass IMContextSimple
 instance GObjectClass IMContextSimple where
   toGObject = GObject . castForeignPtr . unIMContextSimple
   unsafeCastGObject = IMContextSimple . castForeignPtr . unGObject
@@ -4752,54 +4155,6 @@
 gTypeIMContextSimple =
   {# call fun unsafe gtk_im_context_simple_get_type #}
 
--- **************************************************************** ItemFactory
-
-{#pointer *GtkItemFactory as ItemFactory foreign newtype #} deriving (Eq,Ord)
-
-mkItemFactory = (ItemFactory, objectUnrefFromMainloop)
-unItemFactory (ItemFactory o) = o
-
-class ObjectClass o => ItemFactoryClass o
-toItemFactory :: ItemFactoryClass o => o -> ItemFactory
-toItemFactory = unsafeCastGObject . toGObject
-
-instance ItemFactoryClass ItemFactory
-instance ObjectClass ItemFactory
-instance GObjectClass ItemFactory where
-  toGObject = GObject . castForeignPtr . unItemFactory
-  unsafeCastGObject = ItemFactory . castForeignPtr . unGObject
-
-castToItemFactory :: GObjectClass obj => obj -> ItemFactory
-castToItemFactory = castTo gTypeItemFactory "ItemFactory"
-
-gTypeItemFactory :: GType
-gTypeItemFactory =
-  {# call fun unsafe gtk_item_factory_get_type #}
-
--- ******************************************************************* Tooltips
-
-{#pointer *GtkTooltips as Tooltips foreign newtype #} deriving (Eq,Ord)
-
-mkTooltips = (Tooltips, objectUnrefFromMainloop)
-unTooltips (Tooltips o) = o
-
-class ObjectClass o => TooltipsClass o
-toTooltips :: TooltipsClass o => o -> Tooltips
-toTooltips = unsafeCastGObject . toGObject
-
-instance TooltipsClass Tooltips
-instance ObjectClass Tooltips
-instance GObjectClass Tooltips where
-  toGObject = GObject . castForeignPtr . unTooltips
-  unsafeCastGObject = Tooltips . castForeignPtr . unGObject
-
-castToTooltips :: GObjectClass obj => obj -> Tooltips
-castToTooltips = castTo gTypeTooltips "Tooltips"
-
-gTypeTooltips :: GType
-gTypeTooltips =
-  {# call fun unsafe gtk_tooltips_get_type #}
-
 -- ************************************************************* TreeViewColumn
 
 {#pointer *GtkTreeViewColumn as TreeViewColumn foreign newtype #} deriving (Eq,Ord)
@@ -4807,12 +4162,11 @@
 mkTreeViewColumn = (TreeViewColumn, objectUnrefFromMainloop)
 unTreeViewColumn (TreeViewColumn o) = o
 
-class ObjectClass o => TreeViewColumnClass o
+class GObjectClass o => TreeViewColumnClass o
 toTreeViewColumn :: TreeViewColumnClass o => o -> TreeViewColumn
 toTreeViewColumn = unsafeCastGObject . toGObject
 
 instance TreeViewColumnClass TreeViewColumn
-instance ObjectClass TreeViewColumn
 instance GObjectClass TreeViewColumn where
   toGObject = GObject . castForeignPtr . unTreeViewColumn
   unsafeCastGObject = TreeViewColumn . castForeignPtr . unGObject
@@ -4831,12 +4185,11 @@
 mkCellRenderer = (CellRenderer, objectUnrefFromMainloop)
 unCellRenderer (CellRenderer o) = o
 
-class ObjectClass o => CellRendererClass o
+class GObjectClass o => CellRendererClass o
 toCellRenderer :: CellRendererClass o => o -> CellRenderer
 toCellRenderer = unsafeCastGObject . toGObject
 
 instance CellRendererClass CellRenderer
-instance ObjectClass CellRenderer
 instance GObjectClass CellRenderer where
   toGObject = GObject . castForeignPtr . unCellRenderer
   unsafeCastGObject = CellRenderer . castForeignPtr . unGObject
@@ -4861,7 +4214,6 @@
 
 instance CellRendererSpinnerClass CellRendererSpinner
 instance CellRendererClass CellRendererSpinner
-instance ObjectClass CellRendererSpinner
 instance GObjectClass CellRendererSpinner where
   toGObject = GObject . castForeignPtr . unCellRendererSpinner
   unsafeCastGObject = CellRendererSpinner . castForeignPtr . unGObject
@@ -4886,7 +4238,6 @@
 
 instance CellRendererPixbufClass CellRendererPixbuf
 instance CellRendererClass CellRendererPixbuf
-instance ObjectClass CellRendererPixbuf
 instance GObjectClass CellRendererPixbuf where
   toGObject = GObject . castForeignPtr . unCellRendererPixbuf
   unsafeCastGObject = CellRendererPixbuf . castForeignPtr . unGObject
@@ -4911,7 +4262,6 @@
 
 instance CellRendererTextClass CellRendererText
 instance CellRendererClass CellRendererText
-instance ObjectClass CellRendererText
 instance GObjectClass CellRendererText where
   toGObject = GObject . castForeignPtr . unCellRendererText
   unsafeCastGObject = CellRendererText . castForeignPtr . unGObject
@@ -4937,7 +4287,6 @@
 instance CellRendererAccelClass CellRendererAccel
 instance CellRendererTextClass CellRendererAccel
 instance CellRendererClass CellRendererAccel
-instance ObjectClass CellRendererAccel
 instance GObjectClass CellRendererAccel where
   toGObject = GObject . castForeignPtr . unCellRendererAccel
   unsafeCastGObject = CellRendererAccel . castForeignPtr . unGObject
@@ -4963,7 +4312,6 @@
 instance CellRendererSpinClass CellRendererSpin
 instance CellRendererTextClass CellRendererSpin
 instance CellRendererClass CellRendererSpin
-instance ObjectClass CellRendererSpin
 instance GObjectClass CellRendererSpin where
   toGObject = GObject . castForeignPtr . unCellRendererSpin
   unsafeCastGObject = CellRendererSpin . castForeignPtr . unGObject
@@ -4989,7 +4337,6 @@
 instance CellRendererComboClass CellRendererCombo
 instance CellRendererTextClass CellRendererCombo
 instance CellRendererClass CellRendererCombo
-instance ObjectClass CellRendererCombo
 instance GObjectClass CellRendererCombo where
   toGObject = GObject . castForeignPtr . unCellRendererCombo
   unsafeCastGObject = CellRendererCombo . castForeignPtr . unGObject
@@ -5014,7 +4361,6 @@
 
 instance CellRendererToggleClass CellRendererToggle
 instance CellRendererClass CellRendererToggle
-instance ObjectClass CellRendererToggle
 instance GObjectClass CellRendererToggle where
   toGObject = GObject . castForeignPtr . unCellRendererToggle
   unsafeCastGObject = CellRendererToggle . castForeignPtr . unGObject
@@ -5039,7 +4385,6 @@
 
 instance CellRendererProgressClass CellRendererProgress
 instance CellRendererClass CellRendererProgress
-instance ObjectClass CellRendererProgress
 instance GObjectClass CellRendererProgress where
   toGObject = GObject . castForeignPtr . unCellRendererProgress
   unsafeCastGObject = CellRendererProgress . castForeignPtr . unGObject
@@ -5058,12 +4403,11 @@
 mkFileFilter = (FileFilter, objectUnrefFromMainloop)
 unFileFilter (FileFilter o) = o
 
-class ObjectClass o => FileFilterClass o
+class GObjectClass o => FileFilterClass o
 toFileFilter :: FileFilterClass o => o -> FileFilter
 toFileFilter = unsafeCastGObject . toGObject
 
 instance FileFilterClass FileFilter
-instance ObjectClass FileFilter
 instance GObjectClass FileFilter where
   toGObject = GObject . castForeignPtr . unFileFilter
   unsafeCastGObject = FileFilter . castForeignPtr . unGObject
@@ -5082,12 +4426,11 @@
 mkBuilder = (Builder, objectUnrefFromMainloop)
 unBuilder (Builder o) = o
 
-class ObjectClass o => BuilderClass o
+class GObjectClass o => BuilderClass o
 toBuilder :: BuilderClass o => o -> Builder
 toBuilder = unsafeCastGObject . toGObject
 
 instance BuilderClass Builder
-instance ObjectClass Builder
 instance GObjectClass Builder where
   toGObject = GObject . castForeignPtr . unBuilder
   unsafeCastGObject = Builder . castForeignPtr . unGObject
@@ -5099,6 +4442,75 @@
 gTypeBuilder =
   {# call fun unsafe gtk_builder_get_type #}
 
+-- *************************************************************** StyleContext
+
+{#pointer *GtkStyleContext as StyleContext foreign newtype #} deriving (Eq,Ord)
+
+mkStyleContext = (StyleContext, objectUnrefFromMainloop)
+unStyleContext (StyleContext o) = o
+
+class GObjectClass o => StyleContextClass o
+toStyleContext :: StyleContextClass o => o -> StyleContext
+toStyleContext = unsafeCastGObject . toGObject
+
+instance StyleContextClass StyleContext
+instance GObjectClass StyleContext where
+  toGObject = GObject . castForeignPtr . unStyleContext
+  unsafeCastGObject = StyleContext . castForeignPtr . unGObject
+
+castToStyleContext :: GObjectClass obj => obj -> StyleContext
+castToStyleContext = castTo gTypeStyleContext "StyleContext"
+
+gTypeStyleContext :: GType
+gTypeStyleContext =
+  {# call fun unsafe gtk_style_context_get_type #}
+
+-- ************************************************************** StyleProvider
+
+{#pointer *GtkStyleProvider as StyleProvider foreign newtype #} deriving (Eq,Ord)
+
+mkStyleProvider = (StyleProvider, objectUnrefFromMainloop)
+unStyleProvider (StyleProvider o) = o
+
+class GObjectClass o => StyleProviderClass o
+toStyleProvider :: StyleProviderClass o => o -> StyleProvider
+toStyleProvider = unsafeCastGObject . toGObject
+
+instance StyleProviderClass StyleProvider
+instance GObjectClass StyleProvider where
+  toGObject = GObject . castForeignPtr . unStyleProvider
+  unsafeCastGObject = StyleProvider . castForeignPtr . unGObject
+
+castToStyleProvider :: GObjectClass obj => obj -> StyleProvider
+castToStyleProvider = castTo gTypeStyleProvider "StyleProvider"
+
+gTypeStyleProvider :: GType
+gTypeStyleProvider =
+  {# call fun unsafe gtk_style_provider_get_type #}
+
+-- **************************************************************** CssProvider
+
+{#pointer *GtkCssProvider as CssProvider foreign newtype #} deriving (Eq,Ord)
+
+mkCssProvider = (CssProvider, objectUnrefFromMainloop)
+unCssProvider (CssProvider o) = o
+
+class GObjectClass o => CssProviderClass o
+toCssProvider :: CssProviderClass o => o -> CssProvider
+toCssProvider = unsafeCastGObject . toGObject
+
+instance CssProviderClass CssProvider
+instance GObjectClass CssProvider where
+  toGObject = GObject . castForeignPtr . unCssProvider
+  unsafeCastGObject = CssProvider . castForeignPtr . unGObject
+
+castToCssProvider :: GObjectClass obj => obj -> CssProvider
+castToCssProvider = castTo gTypeCssProvider "CssProvider"
+
+gTypeCssProvider :: GType
+gTypeCssProvider =
+  {# call fun unsafe gtk_css_provider_get_type #}
+
 -- ***************************************************************** CellLayout
 
 {#pointer *GtkCellLayout as CellLayout foreign newtype #} deriving (Eq,Ord)
@@ -5749,27 +5161,4 @@
 gTypeFileChooser :: GType
 gTypeFileChooser =
   {# call fun unsafe gtk_file_chooser_get_type #}
-
--- ************************************************************************* GC
-
-{#pointer *GdkGC as GC foreign newtype #} deriving (Eq,Ord)
-
-mkGC = (GC, objectUnrefFromMainloop)
-unGC (GC o) = o
-
-class GObjectClass o => GCClass o
-toGC :: GCClass o => o -> GC
-toGC = unsafeCastGObject . toGObject
-
-instance GCClass GC
-instance GObjectClass GC where
-  toGObject = GObject . castForeignPtr . unGC
-  unsafeCastGObject = GC . castForeignPtr . unGObject
-
-castToGC :: GObjectClass obj => obj -> GC
-castToGC = castTo gTypeGC "GC"
-
-gTypeGC :: GType
-gTypeGC =
-  {# call fun unsafe gdk_gc_get_type #}
 
diff --git a/gtk.cabal b/gtk.cabal
--- a/gtk.cabal
+++ b/gtk.cabal
@@ -1,5 +1,5 @@
 Name:           gtk
-Version:        0.13.8.1
+Version:        0.13.9
 License:        LGPL-2.1
 License-file:   COPYING
 Copyright:      (c) 2001-2010 The Gtk2Hs Team
