diff --git a/System/GIO/Async/Cancellable.chs b/System/GIO/Async/Cancellable.chs
--- a/System/GIO/Async/Cancellable.chs
+++ b/System/GIO/Async/Cancellable.chs
@@ -99,7 +99,7 @@
       {# call cancellable_pop_current #}
          (fromMaybe (Cancellable nullForeignPtr) cancellable)
 
--- | Pushes cancellable onto the cancellable stack. The current cancllable can then be recieved using
+-- | Pushes cancellable onto the cancellable stack. The current cancllable can then be received using
 -- 'cancellableGetCurrent' .
 --
 -- This is useful when implementing cancellable operations in code that does not allow you to pass down
diff --git a/System/GIO/File/AppInfo.chs b/System/GIO/File/AppInfo.chs
--- a/System/GIO/File/AppInfo.chs
+++ b/System/GIO/File/AppInfo.chs
@@ -216,7 +216,7 @@
 -- @launchContext@ to get information about the details of the launcher (like what screen it is on).
 -- Throws a 'GError' if an error occurs
 --
--- To lauch the application without arguments pass a emtpy files list.
+-- To launch the application without arguments pass a empty files list.
 --
 -- Note that even if the launch is successful the application launched can fail to start if it runs
 -- into problems during startup. There is no way to detect this.
@@ -257,7 +257,7 @@
 -- @launchContext@ to get information about the details of the launcher (like what screen it is on).
 -- Throws a 'GError' if an error occurs.
 --
--- To lauch the application without arguments pass a empty uris list.
+-- To launch the application without arguments pass a empty uris list.
 --
 -- Note that even if the launch is successful the application launched can fail to start if it runs
 -- into problems during startup. There is no way to detect this.
diff --git a/System/GIO/File/ContentType.chs b/System/GIO/File/ContentType.chs
--- a/System/GIO/File/ContentType.chs
+++ b/System/GIO/File/ContentType.chs
@@ -31,7 +31,7 @@
 -- * Details
 --
 -- | A content type is a platform specific string that defines the type of a file. On unix it is a mime
--- type, on win32 it is an extension string like ".doc", ".txt" or a percieved string like
+-- type, on win32 it is an extension string like ".doc", ".txt" or a perceived string like
 -- "audio". Such strings can be looked up in the registry at HkeyClassesRoot.
 
 -- * Methods
diff --git a/System/GIO/File/File.chs b/System/GIO/File/File.chs
--- a/System/GIO/File/File.chs
+++ b/System/GIO/File/File.chs
@@ -408,7 +408,7 @@
         withUTFString displayName $ \cDisplayName ->
         propagateGError ({# call file_get_child_for_display_name #} (toFile file) cDisplayName)
 
--- | Checks whether file has the prefix specified by prefix. In other word, if the names of inital
+-- | Checks whether file has the prefix specified by prefix. In other word, if the names of initial
 -- elements of files pathname match prefix. Only full pathname elements are matched, so a path like
 -- /foo is not considered a prefix of /foobar, only of / foo/bar.
 --
@@ -1882,7 +1882,7 @@
 
 -- | Finishes a stop operation. See 'fileStopMountable' for details.
 --
--- Finish an asynchronous stop operation that was stoped with 'fileStopMountable'.
+-- Finish an asynchronous stop operation that was stopped with 'fileStopMountable'.
 --
 -- Throws a 'GError' if an error occurs.
 fileStopMountableFinish :: FileClass file
diff --git a/System/GIO/File/FileAttribute.hsc b/System/GIO/File/FileAttribute.hsc
--- a/System/GIO/File/FileAttribute.hsc
+++ b/System/GIO/File/FileAttribute.hsc
@@ -39,14 +39,14 @@
 --
 -- Keys are strings that contain a key namespace and a key name, separated by a colon,
 -- e.g. "namespace:keyname". Namespaces are included to sort key-value pairs by namespaces for
--- relevance. Keys can be retrived using wildcards, e.g. \"standard::*\" will return all of the keys in
+-- relevance. Keys can be retrieved using wildcards, e.g. \"standard::*\" will return all of the keys in
 -- the "standard" namespace.
 --
 -- Values are stored within the list in 'FileAttributeValue' structures. Values can store different
 -- types, listed in the enum 'FileAttributeType'. Upon creation of a 'FileAttributeValue', the type will
 -- be set to 'FileAttributeTypeInvalid'.
 --
--- The list of possible attributes for a filesystem (pointed to by a 'File') is availible as a
+-- The list of possible attributes for a filesystem (pointed to by a 'File') is available as a
 -- 'FileAttributeInfoList'. This list is queryable by key names as indicated earlier.
 --
 -- Classes that implement 'FileIface' will create a 'FileAttributeInfoList' and install default keys and
diff --git a/System/GIO/File/FileInfo.chs b/System/GIO/File/FileInfo.chs
--- a/System/GIO/File/FileInfo.chs
+++ b/System/GIO/File/FileInfo.chs
@@ -213,7 +213,7 @@
   withUTFString attribute $ \ attributePtr ->
   {#call g_file_info_remove_attribute#} (toFileInfo info) attributePtr
 
--- | Gets the value of a attribute, formated as a string. This escapes things as needed to make the
+-- | Gets the value of a attribute, formatted as a string. This escapes things as needed to make the
 -- string valid utf8.
 fileInfoGetAttributeAsString :: (FileInfoClass info, GlibString string) => info
  -> string -- ^ @attribute@ a file attribute key.
diff --git a/System/GIO/Signals.chs b/System/GIO/Signals.chs
deleted file mode 100644
--- a/System/GIO/Signals.chs
+++ /dev/null
@@ -1,150 +0,0 @@
-{-# OPTIONS_HADDOCK hide #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
--- -*-haskell-*-
--- -------------------- automatically generated file - do not edit ------------
---  Callback installers for the GIMP Toolkit (GTK) Binding for Haskell
---
---  Author : Axel Simon
---
---  Created: 1 July 2000
---
---  Copyright (C) 2000-2005 Axel Simon
---
---  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
---  version 2.1 of the License, or (at your option) any later version.
---
---  This library is distributed in the hope that it will be useful,
---  but WITHOUT ANY WARRANTY; without even the implied warranty of
---  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
---  Lesser General Public License for more details.
---
--- #hide
-
--- These functions are used to connect signals to widgets. They are auto-
--- matically created through HookGenerator.hs which takes a list of possible
--- function signatures that are included in the GTK sources (gtkmarshal.list).
---
--- 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
--- 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
--- conversion into a proper ForeignPtr type. In special cases the signal
--- connect function use a PTR type which will then be mangled in the
--- user function directly. The latter is needed if a signal delivers a
--- pointer to a string and its length in a separate integer.
---
-module System.GIO.Signals (
-  module System.Glib.Signals,
-
-  connect_NONE__NONE,
-  connect_GLIBSTRING_GLIBSTRING_GLIBSTRING_ENUM__NONE,
-  connect_OBJECT_OBJECT_ENUM__NONE,
-  connect_ENUM__NONE,
-  connect_OBJECT__NONE,
-  connect_MOBJECT_MOBJECT_ENUM__NONE,
-  
-  ) where
-
-import Control.Monad    (liftM)
-
-import System.Glib.FFI
-import System.Glib.UTFString   (peekUTFString,maybePeekUTFString,newUTFString)
-import qualified System.Glib.UTFString as Glib
-import System.Glib.GError      (failOnGError)
-{#import System.Glib.Signals#}
-{#import System.Glib.GObject#}
-
-
-{#context lib="gtk" prefix="gtk" #}
-
-
--- Here are the generators that turn a Haskell function into
--- a C function pointer. The fist Argument is always the widget,
--- the last one is the user g_pointer. Both are ignored.
-
-
-connect_NONE__NONE :: 
-  GObjectClass obj => SignalName ->
-  ConnectAfter -> obj ->
-  (IO ()) ->
-  IO (ConnectId obj)
-connect_NONE__NONE signal after obj user =
-  connectGeneric signal after obj action
-  where action :: Ptr GObject -> IO ()
-        action _ =
-          failOnGError $
-          user
-
-connect_GLIBSTRING_GLIBSTRING_GLIBSTRING_ENUM__NONE :: 
-  (Glib.GlibString a', Glib.GlibString b', Glib.GlibString c', Enum d, GObjectClass obj) => SignalName ->
-  ConnectAfter -> obj ->
-  (a' -> b' -> c' -> d -> IO ()) ->
-  IO (ConnectId obj)
-connect_GLIBSTRING_GLIBSTRING_GLIBSTRING_ENUM__NONE signal after obj user =
-  connectGeneric signal after obj action
-  where action :: Ptr GObject -> CString -> CString -> CString -> Int -> IO ()
-        action _ str1 str2 str3 enum4 =
-          failOnGError $
-          peekUTFString str3 >>= \str3' ->
-          peekUTFString str2 >>= \str2' ->
-          peekUTFString str1 >>= \str1' ->
-          user str1' str2' str3' (toEnum enum4)
-
-connect_OBJECT_OBJECT_ENUM__NONE :: 
-  (GObjectClass a', GObjectClass b', Enum c, GObjectClass obj) => SignalName ->
-  ConnectAfter -> obj ->
-  (a' -> b' -> c -> IO ()) ->
-  IO (ConnectId obj)
-connect_OBJECT_OBJECT_ENUM__NONE signal after obj user =
-  connectGeneric signal after obj action
-  where action :: Ptr GObject -> Ptr GObject -> Ptr GObject -> Int -> IO ()
-        action _ obj1 obj2 enum3 =
-          failOnGError $
-          makeNewGObject (GObject, objectUnref) (return obj2) >>= \obj2' ->
-          makeNewGObject (GObject, objectUnref) (return obj1) >>= \obj1' ->
-          user (unsafeCastGObject obj1') (unsafeCastGObject obj2') (toEnum enum3)
-
-connect_ENUM__NONE :: 
-  (Enum a, GObjectClass obj) => SignalName ->
-  ConnectAfter -> obj ->
-  (a -> IO ()) ->
-  IO (ConnectId obj)
-connect_ENUM__NONE signal after obj user =
-  connectGeneric signal after obj action
-  where action :: Ptr GObject -> Int -> IO ()
-        action _ enum1 =
-          failOnGError $
-          user (toEnum enum1)
-
-connect_OBJECT__NONE :: 
-  (GObjectClass a', GObjectClass obj) => SignalName ->
-  ConnectAfter -> obj ->
-  (a' -> IO ()) ->
-  IO (ConnectId obj)
-connect_OBJECT__NONE signal after obj user =
-  connectGeneric signal after obj action
-  where action :: Ptr GObject -> Ptr GObject -> IO ()
-        action _ obj1 =
-          failOnGError $
-          makeNewGObject (GObject, objectUnref) (return obj1) >>= \obj1' ->
-          user (unsafeCastGObject obj1')
-
-connect_MOBJECT_MOBJECT_ENUM__NONE :: 
-  (GObjectClass a', GObjectClass b', Enum c, GObjectClass obj) => SignalName ->
-  ConnectAfter -> obj ->
-  (Maybe a' -> Maybe b' -> c -> IO ()) ->
-  IO (ConnectId obj)
-connect_MOBJECT_MOBJECT_ENUM__NONE signal after obj user =
-  connectGeneric signal after obj action
-  where action :: Ptr GObject -> Ptr GObject -> Ptr GObject -> Int -> IO ()
-        action _ obj1 obj2 enum3 =
-          failOnGError $
-          maybeNull (makeNewGObject (GObject, objectUnref)) (return obj2) >>= \obj2' ->
-          maybeNull (makeNewGObject (GObject, objectUnref)) (return obj1) >>= \obj1' ->
-          user (liftM unsafeCastGObject obj1') (liftM unsafeCastGObject obj2') (toEnum enum3)
-
diff --git a/System/GIO/Types.chs b/System/GIO/Types.chs
deleted file mode 100644
--- a/System/GIO/Types.chs
+++ /dev/null
@@ -1,1028 +0,0 @@
-{-# LANGUAGE CPP #-}
-{-# OPTIONS_HADDOCK hide #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
--- -*-haskell-*-
--- -------------------- automatically generated file - do not edit ----------
---  Object hierarchy for the GIMP Toolkit (GTK) Binding for Haskell
---
---  Author : Axel Simon
---
---  Copyright (C) 2001-2005 Axel Simon
---
---  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
---  version 2.1 of the License, or (at your option) any later version.
---
---  This library is distributed in the hope that it will be useful,
---  but WITHOUT ANY WARRANTY; without even the implied warranty of
---  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
---  Lesser General Public License for more details.
---
--- #hide
-
--- |
--- Maintainer  : gtk2hs-users@lists.sourceforge.net
--- Stability   : provisional
--- Portability : portable (depends on GHC)
---
--- This file reflects the Gtk+ object hierarchy in terms of Haskell classes.
---
--- Note: the mk... functions were originally meant to simply be an alias
--- for the constructor. However, in order to communicate the destructor
--- of an object to objectNew, the mk... functions are now a tuple containing
--- Haskell constructor and the destructor function pointer. This hack avoids
--- changing all modules that simply pass mk... to objectNew.
---
-module System.GIO.Types (
-
-  OutputStream(OutputStream), OutputStreamClass,
-  toOutputStream, 
-  mkOutputStream, unOutputStream,
-  castToOutputStream, gTypeOutputStream,
-  FilterOutputStream(FilterOutputStream), FilterOutputStreamClass,
-  toFilterOutputStream, 
-  mkFilterOutputStream, unFilterOutputStream,
-  castToFilterOutputStream, gTypeFilterOutputStream,
-  DataOutputStream(DataOutputStream), DataOutputStreamClass,
-  toDataOutputStream, 
-  mkDataOutputStream, unDataOutputStream,
-  castToDataOutputStream, gTypeDataOutputStream,
-  BufferedOutputStream(BufferedOutputStream), BufferedOutputStreamClass,
-  toBufferedOutputStream, 
-  mkBufferedOutputStream, unBufferedOutputStream,
-  castToBufferedOutputStream, gTypeBufferedOutputStream,
-  FileOutputStream(FileOutputStream), FileOutputStreamClass,
-  toFileOutputStream, 
-  mkFileOutputStream, unFileOutputStream,
-  castToFileOutputStream, gTypeFileOutputStream,
-  MemoryOutputStream(MemoryOutputStream), MemoryOutputStreamClass,
-  toMemoryOutputStream, 
-  mkMemoryOutputStream, unMemoryOutputStream,
-  castToMemoryOutputStream, gTypeMemoryOutputStream,
-  InputStream(InputStream), InputStreamClass,
-  toInputStream, 
-  mkInputStream, unInputStream,
-  castToInputStream, gTypeInputStream,
-  MemoryInputStream(MemoryInputStream), MemoryInputStreamClass,
-  toMemoryInputStream, 
-  mkMemoryInputStream, unMemoryInputStream,
-  castToMemoryInputStream, gTypeMemoryInputStream,
-  FilterInputStream(FilterInputStream), FilterInputStreamClass,
-  toFilterInputStream, 
-  mkFilterInputStream, unFilterInputStream,
-  castToFilterInputStream, gTypeFilterInputStream,
-  BufferedInputStream(BufferedInputStream), BufferedInputStreamClass,
-  toBufferedInputStream, 
-  mkBufferedInputStream, unBufferedInputStream,
-  castToBufferedInputStream, gTypeBufferedInputStream,
-  DataInputStream(DataInputStream), DataInputStreamClass,
-  toDataInputStream, 
-  mkDataInputStream, unDataInputStream,
-  castToDataInputStream, gTypeDataInputStream,
-  FileInputStream(FileInputStream), FileInputStreamClass,
-  toFileInputStream, 
-  mkFileInputStream, unFileInputStream,
-  castToFileInputStream, gTypeFileInputStream,
-  FileMonitor(FileMonitor), FileMonitorClass,
-  toFileMonitor, 
-  mkFileMonitor, unFileMonitor,
-  castToFileMonitor, gTypeFileMonitor,
-  Vfs(Vfs), VfsClass,
-  toVfs, 
-  mkVfs, unVfs,
-  castToVfs, gTypeVfs,
-  MountOperation(MountOperation), MountOperationClass,
-  toMountOperation, 
-  mkMountOperation, unMountOperation,
-  castToMountOperation, gTypeMountOperation,
-  ThemedIcon(ThemedIcon), ThemedIconClass,
-  toThemedIcon, 
-  mkThemedIcon, unThemedIcon,
-  castToThemedIcon, gTypeThemedIcon,
-  Emblem(Emblem), EmblemClass,
-  toEmblem, 
-  mkEmblem, unEmblem,
-  castToEmblem, gTypeEmblem,
-  EmblemedIcon(EmblemedIcon), EmblemedIconClass,
-  toEmblemedIcon, 
-  mkEmblemedIcon, unEmblemedIcon,
-  castToEmblemedIcon, gTypeEmblemedIcon,
-  FileEnumerator(FileEnumerator), FileEnumeratorClass,
-  toFileEnumerator, 
-  mkFileEnumerator, unFileEnumerator,
-  castToFileEnumerator, gTypeFileEnumerator,
-  FilenameCompleter(FilenameCompleter), FilenameCompleterClass,
-  toFilenameCompleter, 
-  mkFilenameCompleter, unFilenameCompleter,
-  castToFilenameCompleter, gTypeFilenameCompleter,
-  FileIcon(FileIcon), FileIconClass,
-  toFileIcon, 
-  mkFileIcon, unFileIcon,
-  castToFileIcon, gTypeFileIcon,
-  VolumeMonitor(VolumeMonitor), VolumeMonitorClass,
-  toVolumeMonitor, 
-  mkVolumeMonitor, unVolumeMonitor,
-  castToVolumeMonitor, gTypeVolumeMonitor,
-  Cancellable(Cancellable), CancellableClass,
-  toCancellable, 
-  mkCancellable, unCancellable,
-  castToCancellable, gTypeCancellable,
-  SimpleAsyncResult(SimpleAsyncResult), SimpleAsyncResultClass,
-  toSimpleAsyncResult, 
-  mkSimpleAsyncResult, unSimpleAsyncResult,
-  castToSimpleAsyncResult, gTypeSimpleAsyncResult,
-  FileInfo(FileInfo), FileInfoClass,
-  toFileInfo, 
-  mkFileInfo, unFileInfo,
-  castToFileInfo, gTypeFileInfo,
-  AppLaunchContext(AppLaunchContext), AppLaunchContextClass,
-  toAppLaunchContext, 
-  mkAppLaunchContext, unAppLaunchContext,
-  castToAppLaunchContext, gTypeAppLaunchContext,
-  Icon(Icon), IconClass,
-  toIcon, 
-  mkIcon, unIcon,
-  castToIcon, gTypeIcon,
-  Seekable(Seekable), SeekableClass,
-  toSeekable, 
-  mkSeekable, unSeekable,
-  castToSeekable, gTypeSeekable,
-  AppInfo(AppInfo), AppInfoClass,
-  toAppInfo, 
-  mkAppInfo, unAppInfo,
-  castToAppInfo, gTypeAppInfo,
-  Volume(Volume), VolumeClass,
-  toVolume, 
-  mkVolume, unVolume,
-  castToVolume, gTypeVolume,
-  AsyncResult(AsyncResult), AsyncResultClass,
-  toAsyncResult, 
-  mkAsyncResult, unAsyncResult,
-  castToAsyncResult, gTypeAsyncResult,
-  LoadableIcon(LoadableIcon), LoadableIconClass,
-  toLoadableIcon, 
-  mkLoadableIcon, unLoadableIcon,
-  castToLoadableIcon, gTypeLoadableIcon,
-  Drive(Drive), DriveClass,
-  toDrive, 
-  mkDrive, unDrive,
-  castToDrive, gTypeDrive,
-  File(File), FileClass,
-  toFile, 
-  mkFile, unFile,
-  castToFile, gTypeFile,
-  Mount(Mount), MountClass,
-  toMount, 
-  mkMount, unMount,
-  castToMount, gTypeMount
-  ) where
-
-import Foreign.ForeignPtr (ForeignPtr, castForeignPtr)
--- TODO work around cpphs https://ghc.haskell.org/trac/ghc/ticket/13553
-#if __GLASGOW_HASKELL__ >= 707 || __GLASGOW_HASKELL__ == 0
-import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)
-#else
-import Foreign.ForeignPtr (unsafeForeignPtrToPtr)
-#endif
-
-import Foreign.C.Types    (CULong(..), CUInt(..), CULLong(..))
-import System.Glib.GType  (GType, typeInstanceIsA)
-import System.Glib.GObject
-
-{# context lib="gio" prefix="g" #}
-
--- The usage of foreignPtrToPtr should be safe as the evaluation will only be
--- forced if the object is used afterwards
---
-castTo :: (GObjectClass obj, GObjectClass obj') => GType -> String
-                                                -> (obj -> obj')
-castTo gtype objTypeName obj =
-  case toGObject obj of
-    gobj@(GObject objFPtr)
-      | typeInstanceIsA ((unsafeForeignPtrToPtr.castForeignPtr) objFPtr) gtype
-                  -> unsafeCastGObject gobj
-      | otherwise -> error $ "Cannot cast object to " ++ objTypeName
-
-
--- *************************************************************** OutputStream
-
-{#pointer *GOutputStream as OutputStream foreign newtype #} deriving (Eq,Ord)
-
-mkOutputStream = (OutputStream, objectUnref)
-unOutputStream (OutputStream o) = o
-
-class GObjectClass o => OutputStreamClass o
-toOutputStream :: OutputStreamClass o => o -> OutputStream
-toOutputStream = unsafeCastGObject . toGObject
-
-instance OutputStreamClass OutputStream
-instance GObjectClass OutputStream where
-  toGObject = GObject . castForeignPtr . unOutputStream
-  unsafeCastGObject = OutputStream . castForeignPtr . unGObject
-
-castToOutputStream :: GObjectClass obj => obj -> OutputStream
-castToOutputStream = castTo gTypeOutputStream "OutputStream"
-
-gTypeOutputStream :: GType
-gTypeOutputStream =
-  {# call fun unsafe g_output_stream_get_type #}
-
--- ********************************************************* FilterOutputStream
-
-{#pointer *GFilterOutputStream as FilterOutputStream foreign newtype #} deriving (Eq,Ord)
-
-mkFilterOutputStream = (FilterOutputStream, objectUnref)
-unFilterOutputStream (FilterOutputStream o) = o
-
-class OutputStreamClass o => FilterOutputStreamClass o
-toFilterOutputStream :: FilterOutputStreamClass o => o -> FilterOutputStream
-toFilterOutputStream = unsafeCastGObject . toGObject
-
-instance FilterOutputStreamClass FilterOutputStream
-instance OutputStreamClass FilterOutputStream
-instance GObjectClass FilterOutputStream where
-  toGObject = GObject . castForeignPtr . unFilterOutputStream
-  unsafeCastGObject = FilterOutputStream . castForeignPtr . unGObject
-
-castToFilterOutputStream :: GObjectClass obj => obj -> FilterOutputStream
-castToFilterOutputStream = castTo gTypeFilterOutputStream "FilterOutputStream"
-
-gTypeFilterOutputStream :: GType
-gTypeFilterOutputStream =
-  {# call fun unsafe g_filter_output_stream_get_type #}
-
--- *********************************************************** DataOutputStream
-
-{#pointer *GDataOutputStream as DataOutputStream foreign newtype #} deriving (Eq,Ord)
-
-mkDataOutputStream = (DataOutputStream, objectUnref)
-unDataOutputStream (DataOutputStream o) = o
-
-class FilterOutputStreamClass o => DataOutputStreamClass o
-toDataOutputStream :: DataOutputStreamClass o => o -> DataOutputStream
-toDataOutputStream = unsafeCastGObject . toGObject
-
-instance DataOutputStreamClass DataOutputStream
-instance FilterOutputStreamClass DataOutputStream
-instance OutputStreamClass DataOutputStream
-instance GObjectClass DataOutputStream where
-  toGObject = GObject . castForeignPtr . unDataOutputStream
-  unsafeCastGObject = DataOutputStream . castForeignPtr . unGObject
-
-castToDataOutputStream :: GObjectClass obj => obj -> DataOutputStream
-castToDataOutputStream = castTo gTypeDataOutputStream "DataOutputStream"
-
-gTypeDataOutputStream :: GType
-gTypeDataOutputStream =
-  {# call fun unsafe g_data_output_stream_get_type #}
-
--- ******************************************************* BufferedOutputStream
-
-{#pointer *GBufferedOutputStream as BufferedOutputStream foreign newtype #} deriving (Eq,Ord)
-
-mkBufferedOutputStream = (BufferedOutputStream, objectUnref)
-unBufferedOutputStream (BufferedOutputStream o) = o
-
-class FilterOutputStreamClass o => BufferedOutputStreamClass o
-toBufferedOutputStream :: BufferedOutputStreamClass o => o -> BufferedOutputStream
-toBufferedOutputStream = unsafeCastGObject . toGObject
-
-instance BufferedOutputStreamClass BufferedOutputStream
-instance FilterOutputStreamClass BufferedOutputStream
-instance OutputStreamClass BufferedOutputStream
-instance GObjectClass BufferedOutputStream where
-  toGObject = GObject . castForeignPtr . unBufferedOutputStream
-  unsafeCastGObject = BufferedOutputStream . castForeignPtr . unGObject
-
-castToBufferedOutputStream :: GObjectClass obj => obj -> BufferedOutputStream
-castToBufferedOutputStream = castTo gTypeBufferedOutputStream "BufferedOutputStream"
-
-gTypeBufferedOutputStream :: GType
-gTypeBufferedOutputStream =
-  {# call fun unsafe g_buffered_output_stream_get_type #}
-
--- *********************************************************** FileOutputStream
-
-{#pointer *GFileOutputStream as FileOutputStream foreign newtype #} deriving (Eq,Ord)
-
-mkFileOutputStream = (FileOutputStream, objectUnref)
-unFileOutputStream (FileOutputStream o) = o
-
-class OutputStreamClass o => FileOutputStreamClass o
-toFileOutputStream :: FileOutputStreamClass o => o -> FileOutputStream
-toFileOutputStream = unsafeCastGObject . toGObject
-
-instance FileOutputStreamClass FileOutputStream
-instance OutputStreamClass FileOutputStream
-instance GObjectClass FileOutputStream where
-  toGObject = GObject . castForeignPtr . unFileOutputStream
-  unsafeCastGObject = FileOutputStream . castForeignPtr . unGObject
-
-castToFileOutputStream :: GObjectClass obj => obj -> FileOutputStream
-castToFileOutputStream = castTo gTypeFileOutputStream "FileOutputStream"
-
-gTypeFileOutputStream :: GType
-gTypeFileOutputStream =
-  {# call fun unsafe g_file_output_stream_get_type #}
-
--- ********************************************************* MemoryOutputStream
-
-{#pointer *GMemoryOutputStream as MemoryOutputStream foreign newtype #} deriving (Eq,Ord)
-
-mkMemoryOutputStream = (MemoryOutputStream, objectUnref)
-unMemoryOutputStream (MemoryOutputStream o) = o
-
-class OutputStreamClass o => MemoryOutputStreamClass o
-toMemoryOutputStream :: MemoryOutputStreamClass o => o -> MemoryOutputStream
-toMemoryOutputStream = unsafeCastGObject . toGObject
-
-instance MemoryOutputStreamClass MemoryOutputStream
-instance OutputStreamClass MemoryOutputStream
-instance GObjectClass MemoryOutputStream where
-  toGObject = GObject . castForeignPtr . unMemoryOutputStream
-  unsafeCastGObject = MemoryOutputStream . castForeignPtr . unGObject
-
-castToMemoryOutputStream :: GObjectClass obj => obj -> MemoryOutputStream
-castToMemoryOutputStream = castTo gTypeMemoryOutputStream "MemoryOutputStream"
-
-gTypeMemoryOutputStream :: GType
-gTypeMemoryOutputStream =
-  {# call fun unsafe g_memory_output_stream_get_type #}
-
--- **************************************************************** InputStream
-
-{#pointer *GInputStream as InputStream foreign newtype #} deriving (Eq,Ord)
-
-mkInputStream = (InputStream, objectUnref)
-unInputStream (InputStream o) = o
-
-class GObjectClass o => InputStreamClass o
-toInputStream :: InputStreamClass o => o -> InputStream
-toInputStream = unsafeCastGObject . toGObject
-
-instance InputStreamClass InputStream
-instance GObjectClass InputStream where
-  toGObject = GObject . castForeignPtr . unInputStream
-  unsafeCastGObject = InputStream . castForeignPtr . unGObject
-
-castToInputStream :: GObjectClass obj => obj -> InputStream
-castToInputStream = castTo gTypeInputStream "InputStream"
-
-gTypeInputStream :: GType
-gTypeInputStream =
-  {# call fun unsafe g_input_stream_get_type #}
-
--- ********************************************************** MemoryInputStream
-
-{#pointer *GMemoryInputStream as MemoryInputStream foreign newtype #} deriving (Eq,Ord)
-
-mkMemoryInputStream = (MemoryInputStream, objectUnref)
-unMemoryInputStream (MemoryInputStream o) = o
-
-class InputStreamClass o => MemoryInputStreamClass o
-toMemoryInputStream :: MemoryInputStreamClass o => o -> MemoryInputStream
-toMemoryInputStream = unsafeCastGObject . toGObject
-
-instance MemoryInputStreamClass MemoryInputStream
-instance InputStreamClass MemoryInputStream
-instance GObjectClass MemoryInputStream where
-  toGObject = GObject . castForeignPtr . unMemoryInputStream
-  unsafeCastGObject = MemoryInputStream . castForeignPtr . unGObject
-
-castToMemoryInputStream :: GObjectClass obj => obj -> MemoryInputStream
-castToMemoryInputStream = castTo gTypeMemoryInputStream "MemoryInputStream"
-
-gTypeMemoryInputStream :: GType
-gTypeMemoryInputStream =
-  {# call fun unsafe g_memory_input_stream_get_type #}
-
--- ********************************************************** FilterInputStream
-
-{#pointer *GFilterInputStream as FilterInputStream foreign newtype #} deriving (Eq,Ord)
-
-mkFilterInputStream = (FilterInputStream, objectUnref)
-unFilterInputStream (FilterInputStream o) = o
-
-class InputStreamClass o => FilterInputStreamClass o
-toFilterInputStream :: FilterInputStreamClass o => o -> FilterInputStream
-toFilterInputStream = unsafeCastGObject . toGObject
-
-instance FilterInputStreamClass FilterInputStream
-instance InputStreamClass FilterInputStream
-instance GObjectClass FilterInputStream where
-  toGObject = GObject . castForeignPtr . unFilterInputStream
-  unsafeCastGObject = FilterInputStream . castForeignPtr . unGObject
-
-castToFilterInputStream :: GObjectClass obj => obj -> FilterInputStream
-castToFilterInputStream = castTo gTypeFilterInputStream "FilterInputStream"
-
-gTypeFilterInputStream :: GType
-gTypeFilterInputStream =
-  {# call fun unsafe g_filter_input_stream_get_type #}
-
--- ******************************************************** BufferedInputStream
-
-{#pointer *GBufferedInputStream as BufferedInputStream foreign newtype #} deriving (Eq,Ord)
-
-mkBufferedInputStream = (BufferedInputStream, objectUnref)
-unBufferedInputStream (BufferedInputStream o) = o
-
-class FilterInputStreamClass o => BufferedInputStreamClass o
-toBufferedInputStream :: BufferedInputStreamClass o => o -> BufferedInputStream
-toBufferedInputStream = unsafeCastGObject . toGObject
-
-instance BufferedInputStreamClass BufferedInputStream
-instance FilterInputStreamClass BufferedInputStream
-instance InputStreamClass BufferedInputStream
-instance GObjectClass BufferedInputStream where
-  toGObject = GObject . castForeignPtr . unBufferedInputStream
-  unsafeCastGObject = BufferedInputStream . castForeignPtr . unGObject
-
-castToBufferedInputStream :: GObjectClass obj => obj -> BufferedInputStream
-castToBufferedInputStream = castTo gTypeBufferedInputStream "BufferedInputStream"
-
-gTypeBufferedInputStream :: GType
-gTypeBufferedInputStream =
-  {# call fun unsafe g_buffered_input_stream_get_type #}
-
--- ************************************************************ DataInputStream
-
-{#pointer *GDataInputStream as DataInputStream foreign newtype #} deriving (Eq,Ord)
-
-mkDataInputStream = (DataInputStream, objectUnref)
-unDataInputStream (DataInputStream o) = o
-
-class BufferedInputStreamClass o => DataInputStreamClass o
-toDataInputStream :: DataInputStreamClass o => o -> DataInputStream
-toDataInputStream = unsafeCastGObject . toGObject
-
-instance DataInputStreamClass DataInputStream
-instance BufferedInputStreamClass DataInputStream
-instance FilterInputStreamClass DataInputStream
-instance InputStreamClass DataInputStream
-instance GObjectClass DataInputStream where
-  toGObject = GObject . castForeignPtr . unDataInputStream
-  unsafeCastGObject = DataInputStream . castForeignPtr . unGObject
-
-castToDataInputStream :: GObjectClass obj => obj -> DataInputStream
-castToDataInputStream = castTo gTypeDataInputStream "DataInputStream"
-
-gTypeDataInputStream :: GType
-gTypeDataInputStream =
-  {# call fun unsafe g_data_input_stream_get_type #}
-
--- ************************************************************ FileInputStream
-
-{#pointer *GFileInputStream as FileInputStream foreign newtype #} deriving (Eq,Ord)
-
-mkFileInputStream = (FileInputStream, objectUnref)
-unFileInputStream (FileInputStream o) = o
-
-class InputStreamClass o => FileInputStreamClass o
-toFileInputStream :: FileInputStreamClass o => o -> FileInputStream
-toFileInputStream = unsafeCastGObject . toGObject
-
-instance FileInputStreamClass FileInputStream
-instance InputStreamClass FileInputStream
-instance GObjectClass FileInputStream where
-  toGObject = GObject . castForeignPtr . unFileInputStream
-  unsafeCastGObject = FileInputStream . castForeignPtr . unGObject
-
-castToFileInputStream :: GObjectClass obj => obj -> FileInputStream
-castToFileInputStream = castTo gTypeFileInputStream "FileInputStream"
-
-gTypeFileInputStream :: GType
-gTypeFileInputStream =
-  {# call fun unsafe g_file_input_stream_get_type #}
-
--- **************************************************************** FileMonitor
-
-{#pointer *GFileMonitor as FileMonitor foreign newtype #} deriving (Eq,Ord)
-
-mkFileMonitor = (FileMonitor, objectUnref)
-unFileMonitor (FileMonitor o) = o
-
-class GObjectClass o => FileMonitorClass o
-toFileMonitor :: FileMonitorClass o => o -> FileMonitor
-toFileMonitor = unsafeCastGObject . toGObject
-
-instance FileMonitorClass FileMonitor
-instance GObjectClass FileMonitor where
-  toGObject = GObject . castForeignPtr . unFileMonitor
-  unsafeCastGObject = FileMonitor . castForeignPtr . unGObject
-
-castToFileMonitor :: GObjectClass obj => obj -> FileMonitor
-castToFileMonitor = castTo gTypeFileMonitor "FileMonitor"
-
-gTypeFileMonitor :: GType
-gTypeFileMonitor =
-  {# call fun unsafe g_file_monitor_get_type #}
-
--- ************************************************************************ Vfs
-
-{#pointer *GVfs as Vfs foreign newtype #} deriving (Eq,Ord)
-
-mkVfs = (Vfs, objectUnref)
-unVfs (Vfs o) = o
-
-class GObjectClass o => VfsClass o
-toVfs :: VfsClass o => o -> Vfs
-toVfs = unsafeCastGObject . toGObject
-
-instance VfsClass Vfs
-instance GObjectClass Vfs where
-  toGObject = GObject . castForeignPtr . unVfs
-  unsafeCastGObject = Vfs . castForeignPtr . unGObject
-
-castToVfs :: GObjectClass obj => obj -> Vfs
-castToVfs = castTo gTypeVfs "Vfs"
-
-gTypeVfs :: GType
-gTypeVfs =
-  {# call fun unsafe g_vfs_get_type #}
-
--- ************************************************************* MountOperation
-
-{#pointer *GMountOperation as MountOperation foreign newtype #} deriving (Eq,Ord)
-
-mkMountOperation = (MountOperation, objectUnref)
-unMountOperation (MountOperation o) = o
-
-class GObjectClass o => MountOperationClass o
-toMountOperation :: MountOperationClass o => o -> MountOperation
-toMountOperation = unsafeCastGObject . toGObject
-
-instance MountOperationClass MountOperation
-instance GObjectClass MountOperation where
-  toGObject = GObject . castForeignPtr . unMountOperation
-  unsafeCastGObject = MountOperation . castForeignPtr . unGObject
-
-castToMountOperation :: GObjectClass obj => obj -> MountOperation
-castToMountOperation = castTo gTypeMountOperation "MountOperation"
-
-gTypeMountOperation :: GType
-gTypeMountOperation =
-  {# call fun unsafe g_mount_operation_get_type #}
-
--- ***************************************************************** ThemedIcon
-
-{#pointer *GThemedIcon as ThemedIcon foreign newtype #} deriving (Eq,Ord)
-
-mkThemedIcon = (ThemedIcon, objectUnref)
-unThemedIcon (ThemedIcon o) = o
-
-class GObjectClass o => ThemedIconClass o
-toThemedIcon :: ThemedIconClass o => o -> ThemedIcon
-toThemedIcon = unsafeCastGObject . toGObject
-
-instance ThemedIconClass ThemedIcon
-instance GObjectClass ThemedIcon where
-  toGObject = GObject . castForeignPtr . unThemedIcon
-  unsafeCastGObject = ThemedIcon . castForeignPtr . unGObject
-
-castToThemedIcon :: GObjectClass obj => obj -> ThemedIcon
-castToThemedIcon = castTo gTypeThemedIcon "ThemedIcon"
-
-gTypeThemedIcon :: GType
-gTypeThemedIcon =
-  {# call fun unsafe g_themed_icon_get_type #}
-
--- ********************************************************************* Emblem
-
-{#pointer *GEmblem as Emblem foreign newtype #} deriving (Eq,Ord)
-
-mkEmblem = (Emblem, objectUnref)
-unEmblem (Emblem o) = o
-
-class GObjectClass o => EmblemClass o
-toEmblem :: EmblemClass o => o -> Emblem
-toEmblem = unsafeCastGObject . toGObject
-
-instance EmblemClass Emblem
-instance GObjectClass Emblem where
-  toGObject = GObject . castForeignPtr . unEmblem
-  unsafeCastGObject = Emblem . castForeignPtr . unGObject
-
-castToEmblem :: GObjectClass obj => obj -> Emblem
-castToEmblem = castTo gTypeEmblem "Emblem"
-
-gTypeEmblem :: GType
-gTypeEmblem =
-  {# call fun unsafe g_emblem_get_type #}
-
--- *************************************************************** EmblemedIcon
-
-{#pointer *GEmblemedIcon as EmblemedIcon foreign newtype #} deriving (Eq,Ord)
-
-mkEmblemedIcon = (EmblemedIcon, objectUnref)
-unEmblemedIcon (EmblemedIcon o) = o
-
-class GObjectClass o => EmblemedIconClass o
-toEmblemedIcon :: EmblemedIconClass o => o -> EmblemedIcon
-toEmblemedIcon = unsafeCastGObject . toGObject
-
-instance EmblemedIconClass EmblemedIcon
-instance GObjectClass EmblemedIcon where
-  toGObject = GObject . castForeignPtr . unEmblemedIcon
-  unsafeCastGObject = EmblemedIcon . castForeignPtr . unGObject
-
-castToEmblemedIcon :: GObjectClass obj => obj -> EmblemedIcon
-castToEmblemedIcon = castTo gTypeEmblemedIcon "EmblemedIcon"
-
-gTypeEmblemedIcon :: GType
-gTypeEmblemedIcon =
-  {# call fun unsafe g_emblemed_icon_get_type #}
-
--- ************************************************************* FileEnumerator
-
-{#pointer *GFileEnumerator as FileEnumerator foreign newtype #} deriving (Eq,Ord)
-
-mkFileEnumerator = (FileEnumerator, objectUnref)
-unFileEnumerator (FileEnumerator o) = o
-
-class GObjectClass o => FileEnumeratorClass o
-toFileEnumerator :: FileEnumeratorClass o => o -> FileEnumerator
-toFileEnumerator = unsafeCastGObject . toGObject
-
-instance FileEnumeratorClass FileEnumerator
-instance GObjectClass FileEnumerator where
-  toGObject = GObject . castForeignPtr . unFileEnumerator
-  unsafeCastGObject = FileEnumerator . castForeignPtr . unGObject
-
-castToFileEnumerator :: GObjectClass obj => obj -> FileEnumerator
-castToFileEnumerator = castTo gTypeFileEnumerator "FileEnumerator"
-
-gTypeFileEnumerator :: GType
-gTypeFileEnumerator =
-  {# call fun unsafe g_file_enumerator_get_type #}
-
--- ********************************************************** FilenameCompleter
-
-{#pointer *GFilenameCompleter as FilenameCompleter foreign newtype #} deriving (Eq,Ord)
-
-mkFilenameCompleter = (FilenameCompleter, objectUnref)
-unFilenameCompleter (FilenameCompleter o) = o
-
-class GObjectClass o => FilenameCompleterClass o
-toFilenameCompleter :: FilenameCompleterClass o => o -> FilenameCompleter
-toFilenameCompleter = unsafeCastGObject . toGObject
-
-instance FilenameCompleterClass FilenameCompleter
-instance GObjectClass FilenameCompleter where
-  toGObject = GObject . castForeignPtr . unFilenameCompleter
-  unsafeCastGObject = FilenameCompleter . castForeignPtr . unGObject
-
-castToFilenameCompleter :: GObjectClass obj => obj -> FilenameCompleter
-castToFilenameCompleter = castTo gTypeFilenameCompleter "FilenameCompleter"
-
-gTypeFilenameCompleter :: GType
-gTypeFilenameCompleter =
-  {# call fun unsafe g_filename_completer_get_type #}
-
--- ******************************************************************* FileIcon
-
-{#pointer *GFileIcon as FileIcon foreign newtype #} deriving (Eq,Ord)
-
-mkFileIcon = (FileIcon, objectUnref)
-unFileIcon (FileIcon o) = o
-
-class GObjectClass o => FileIconClass o
-toFileIcon :: FileIconClass o => o -> FileIcon
-toFileIcon = unsafeCastGObject . toGObject
-
-instance FileIconClass FileIcon
-instance GObjectClass FileIcon where
-  toGObject = GObject . castForeignPtr . unFileIcon
-  unsafeCastGObject = FileIcon . castForeignPtr . unGObject
-
-castToFileIcon :: GObjectClass obj => obj -> FileIcon
-castToFileIcon = castTo gTypeFileIcon "FileIcon"
-
-gTypeFileIcon :: GType
-gTypeFileIcon =
-  {# call fun unsafe g_file_icon_get_type #}
-
--- ************************************************************** VolumeMonitor
-
-{#pointer *GVolumeMonitor as VolumeMonitor foreign newtype #} deriving (Eq,Ord)
-
-mkVolumeMonitor = (VolumeMonitor, objectUnref)
-unVolumeMonitor (VolumeMonitor o) = o
-
-class GObjectClass o => VolumeMonitorClass o
-toVolumeMonitor :: VolumeMonitorClass o => o -> VolumeMonitor
-toVolumeMonitor = unsafeCastGObject . toGObject
-
-instance VolumeMonitorClass VolumeMonitor
-instance GObjectClass VolumeMonitor where
-  toGObject = GObject . castForeignPtr . unVolumeMonitor
-  unsafeCastGObject = VolumeMonitor . castForeignPtr . unGObject
-
-castToVolumeMonitor :: GObjectClass obj => obj -> VolumeMonitor
-castToVolumeMonitor = castTo gTypeVolumeMonitor "VolumeMonitor"
-
-gTypeVolumeMonitor :: GType
-gTypeVolumeMonitor =
-  {# call fun unsafe g_volume_monitor_get_type #}
-
--- **************************************************************** Cancellable
-
-{#pointer *GCancellable as Cancellable foreign newtype #} deriving (Eq,Ord)
-
-mkCancellable = (Cancellable, objectUnref)
-unCancellable (Cancellable o) = o
-
-class GObjectClass o => CancellableClass o
-toCancellable :: CancellableClass o => o -> Cancellable
-toCancellable = unsafeCastGObject . toGObject
-
-instance CancellableClass Cancellable
-instance GObjectClass Cancellable where
-  toGObject = GObject . castForeignPtr . unCancellable
-  unsafeCastGObject = Cancellable . castForeignPtr . unGObject
-
-castToCancellable :: GObjectClass obj => obj -> Cancellable
-castToCancellable = castTo gTypeCancellable "Cancellable"
-
-gTypeCancellable :: GType
-gTypeCancellable =
-  {# call fun unsafe g_cancellable_get_type #}
-
--- ********************************************************** SimpleAsyncResult
-
-{#pointer *GSimpleAsyncResult as SimpleAsyncResult foreign newtype #} deriving (Eq,Ord)
-
-mkSimpleAsyncResult = (SimpleAsyncResult, objectUnref)
-unSimpleAsyncResult (SimpleAsyncResult o) = o
-
-class GObjectClass o => SimpleAsyncResultClass o
-toSimpleAsyncResult :: SimpleAsyncResultClass o => o -> SimpleAsyncResult
-toSimpleAsyncResult = unsafeCastGObject . toGObject
-
-instance SimpleAsyncResultClass SimpleAsyncResult
-instance GObjectClass SimpleAsyncResult where
-  toGObject = GObject . castForeignPtr . unSimpleAsyncResult
-  unsafeCastGObject = SimpleAsyncResult . castForeignPtr . unGObject
-
-castToSimpleAsyncResult :: GObjectClass obj => obj -> SimpleAsyncResult
-castToSimpleAsyncResult = castTo gTypeSimpleAsyncResult "SimpleAsyncResult"
-
-gTypeSimpleAsyncResult :: GType
-gTypeSimpleAsyncResult =
-  {# call fun unsafe g_async_result_get_type #}
-
--- ******************************************************************* FileInfo
-
-{#pointer *GFileInfo as FileInfo foreign newtype #} deriving (Eq,Ord)
-
-mkFileInfo = (FileInfo, objectUnref)
-unFileInfo (FileInfo o) = o
-
-class GObjectClass o => FileInfoClass o
-toFileInfo :: FileInfoClass o => o -> FileInfo
-toFileInfo = unsafeCastGObject . toGObject
-
-instance FileInfoClass FileInfo
-instance GObjectClass FileInfo where
-  toGObject = GObject . castForeignPtr . unFileInfo
-  unsafeCastGObject = FileInfo . castForeignPtr . unGObject
-
-castToFileInfo :: GObjectClass obj => obj -> FileInfo
-castToFileInfo = castTo gTypeFileInfo "FileInfo"
-
-gTypeFileInfo :: GType
-gTypeFileInfo =
-  {# call fun unsafe g_file_info_get_type #}
-
--- *********************************************************** AppLaunchContext
-
-{#pointer *GAppLaunchContext as AppLaunchContext foreign newtype #} deriving (Eq,Ord)
-
-mkAppLaunchContext = (AppLaunchContext, objectUnref)
-unAppLaunchContext (AppLaunchContext o) = o
-
-class FileInfoClass o => AppLaunchContextClass o
-toAppLaunchContext :: AppLaunchContextClass o => o -> AppLaunchContext
-toAppLaunchContext = unsafeCastGObject . toGObject
-
-instance AppLaunchContextClass AppLaunchContext
-instance FileInfoClass AppLaunchContext
-instance GObjectClass AppLaunchContext where
-  toGObject = GObject . castForeignPtr . unAppLaunchContext
-  unsafeCastGObject = AppLaunchContext . castForeignPtr . unGObject
-
-castToAppLaunchContext :: GObjectClass obj => obj -> AppLaunchContext
-castToAppLaunchContext = castTo gTypeAppLaunchContext "AppLaunchContext"
-
-gTypeAppLaunchContext :: GType
-gTypeAppLaunchContext =
-  {# call fun unsafe g_app_launch_context_get_type #}
-
--- *********************************************************************** Icon
-
-{#pointer *GIcon as Icon foreign newtype #} deriving (Eq,Ord)
-
-mkIcon = (Icon, objectUnref)
-unIcon (Icon o) = o
-
-class GObjectClass o => IconClass o
-toIcon :: IconClass o => o -> Icon
-toIcon = unsafeCastGObject . toGObject
-
-instance IconClass Icon
-instance GObjectClass Icon where
-  toGObject = GObject . castForeignPtr . unIcon
-  unsafeCastGObject = Icon . castForeignPtr . unGObject
-
-castToIcon :: GObjectClass obj => obj -> Icon
-castToIcon = castTo gTypeIcon "Icon"
-
-gTypeIcon :: GType
-gTypeIcon =
-  {# call fun unsafe g_icon_get_type #}
-
--- ******************************************************************* Seekable
-
-{#pointer *GSeekable as Seekable foreign newtype #} deriving (Eq,Ord)
-
-mkSeekable = (Seekable, objectUnref)
-unSeekable (Seekable o) = o
-
-class GObjectClass o => SeekableClass o
-toSeekable :: SeekableClass o => o -> Seekable
-toSeekable = unsafeCastGObject . toGObject
-
-instance SeekableClass Seekable
-instance GObjectClass Seekable where
-  toGObject = GObject . castForeignPtr . unSeekable
-  unsafeCastGObject = Seekable . castForeignPtr . unGObject
-
-castToSeekable :: GObjectClass obj => obj -> Seekable
-castToSeekable = castTo gTypeSeekable "Seekable"
-
-gTypeSeekable :: GType
-gTypeSeekable =
-  {# call fun unsafe g_seekable_get_type #}
-
--- ******************************************************************** AppInfo
-
-{#pointer *GAppInfo as AppInfo foreign newtype #} deriving (Eq,Ord)
-
-mkAppInfo = (AppInfo, objectUnref)
-unAppInfo (AppInfo o) = o
-
-class GObjectClass o => AppInfoClass o
-toAppInfo :: AppInfoClass o => o -> AppInfo
-toAppInfo = unsafeCastGObject . toGObject
-
-instance AppInfoClass AppInfo
-instance GObjectClass AppInfo where
-  toGObject = GObject . castForeignPtr . unAppInfo
-  unsafeCastGObject = AppInfo . castForeignPtr . unGObject
-
-castToAppInfo :: GObjectClass obj => obj -> AppInfo
-castToAppInfo = castTo gTypeAppInfo "AppInfo"
-
-gTypeAppInfo :: GType
-gTypeAppInfo =
-  {# call fun unsafe g_app_info_get_type #}
-
--- ********************************************************************* Volume
-
-{#pointer *GVolume as Volume foreign newtype #} deriving (Eq,Ord)
-
-mkVolume = (Volume, objectUnref)
-unVolume (Volume o) = o
-
-class GObjectClass o => VolumeClass o
-toVolume :: VolumeClass o => o -> Volume
-toVolume = unsafeCastGObject . toGObject
-
-instance VolumeClass Volume
-instance GObjectClass Volume where
-  toGObject = GObject . castForeignPtr . unVolume
-  unsafeCastGObject = Volume . castForeignPtr . unGObject
-
-castToVolume :: GObjectClass obj => obj -> Volume
-castToVolume = castTo gTypeVolume "Volume"
-
-gTypeVolume :: GType
-gTypeVolume =
-  {# call fun unsafe g_volume_get_type #}
-
--- **************************************************************** AsyncResult
-
-{#pointer *GAsyncResult as AsyncResult foreign newtype #} deriving (Eq,Ord)
-
-mkAsyncResult = (AsyncResult, objectUnref)
-unAsyncResult (AsyncResult o) = o
-
-class GObjectClass o => AsyncResultClass o
-toAsyncResult :: AsyncResultClass o => o -> AsyncResult
-toAsyncResult = unsafeCastGObject . toGObject
-
-instance AsyncResultClass AsyncResult
-instance GObjectClass AsyncResult where
-  toGObject = GObject . castForeignPtr . unAsyncResult
-  unsafeCastGObject = AsyncResult . castForeignPtr . unGObject
-
-castToAsyncResult :: GObjectClass obj => obj -> AsyncResult
-castToAsyncResult = castTo gTypeAsyncResult "AsyncResult"
-
-gTypeAsyncResult :: GType
-gTypeAsyncResult =
-  {# call fun unsafe g_async_result_get_type #}
-
--- *************************************************************** LoadableIcon
-
-{#pointer *GLoadableIcon as LoadableIcon foreign newtype #} deriving (Eq,Ord)
-
-mkLoadableIcon = (LoadableIcon, objectUnref)
-unLoadableIcon (LoadableIcon o) = o
-
-class GObjectClass o => LoadableIconClass o
-toLoadableIcon :: LoadableIconClass o => o -> LoadableIcon
-toLoadableIcon = unsafeCastGObject . toGObject
-
-instance LoadableIconClass LoadableIcon
-instance GObjectClass LoadableIcon where
-  toGObject = GObject . castForeignPtr . unLoadableIcon
-  unsafeCastGObject = LoadableIcon . castForeignPtr . unGObject
-
-castToLoadableIcon :: GObjectClass obj => obj -> LoadableIcon
-castToLoadableIcon = castTo gTypeLoadableIcon "LoadableIcon"
-
-gTypeLoadableIcon :: GType
-gTypeLoadableIcon =
-  {# call fun unsafe g_loadable_icon_get_type #}
-
--- ********************************************************************** Drive
-
-{#pointer *GDrive as Drive foreign newtype #} deriving (Eq,Ord)
-
-mkDrive = (Drive, objectUnref)
-unDrive (Drive o) = o
-
-class GObjectClass o => DriveClass o
-toDrive :: DriveClass o => o -> Drive
-toDrive = unsafeCastGObject . toGObject
-
-instance DriveClass Drive
-instance GObjectClass Drive where
-  toGObject = GObject . castForeignPtr . unDrive
-  unsafeCastGObject = Drive . castForeignPtr . unGObject
-
-castToDrive :: GObjectClass obj => obj -> Drive
-castToDrive = castTo gTypeDrive "Drive"
-
-gTypeDrive :: GType
-gTypeDrive =
-  {# call fun unsafe g_drive_get_type #}
-
--- *********************************************************************** File
-
-{#pointer *GFile as File foreign newtype #}
-
-mkFile = (File, objectUnref)
-unFile (File o) = o
-
-class GObjectClass o => FileClass o
-toFile :: FileClass o => o -> File
-toFile = unsafeCastGObject . toGObject
-
-instance FileClass File
-instance GObjectClass File where
-  toGObject = GObject . castForeignPtr . unFile
-  unsafeCastGObject = File . castForeignPtr . unGObject
-
-castToFile :: GObjectClass obj => obj -> File
-castToFile = castTo gTypeFile "File"
-
-gTypeFile :: GType
-gTypeFile =
-  {# call fun unsafe g_file_get_type #}
-
--- ********************************************************************** Mount
-
-{#pointer *GMount as Mount foreign newtype #} deriving (Eq,Ord)
-
-mkMount = (Mount, objectUnref)
-unMount (Mount o) = o
-
-class GObjectClass o => MountClass o
-toMount :: MountClass o => o -> Mount
-toMount = unsafeCastGObject . toGObject
-
-instance MountClass Mount
-instance GObjectClass Mount where
-  toGObject = GObject . castForeignPtr . unMount
-  unsafeCastGObject = Mount . castForeignPtr . unGObject
-
-castToMount :: GObjectClass obj => obj -> Mount
-castToMount = castTo gTypeMount "Mount"
-
-gTypeMount :: GType
-gTypeMount =
-  {# call fun unsafe g_mount_get_type #}
-
diff --git a/System/GIO/Volumes/Drive.chs b/System/GIO/Volumes/Drive.chs
--- a/System/GIO/Volumes/Drive.chs
+++ b/System/GIO/Volumes/Drive.chs
@@ -35,11 +35,11 @@
 --
 -- 'Drive' is a container class for 'Volume' objects that stem from the same piece of media. As such,
 -- 'Drive' abstracts a drive with (or without) removable media and provides operations for querying
--- whether media is available, determing whether media change is automatically detected and ejecting
+-- whether media is available, determining whether media change is automatically detected and ejecting
 -- the media.
 --
 -- If the 'Drive' reports that media isn't automatically detected, one can poll for media; typically one
--- should not do this periodically as a poll for media operation is potententially expensive and may
+-- should not do this periodically as a poll for media operation is potentially expensive and may
 -- spin up the drive creating noise.
 --
 -- 'Drive' supports starting and stopping drives with authentication support for the former. This can be
@@ -175,9 +175,9 @@
   liftM toBool $
   {#call g_drive_can_start_degraded#} (toDrive drive)
 
--- | Checks if a drive can be stoped.
+-- | Checks if a drive can be stopped.
 driveCanStop :: DriveClass drive => drive
- -> IO Bool  -- ^ returns 'True' if the drive can be stoped, 'False' otherwise.
+ -> IO Bool  -- ^ returns 'True' if the drive can be stopped, 'False' otherwise.
 driveCanStop drive =
   liftM toBool $
   {#call g_drive_can_stop#} (toDrive drive)
@@ -228,9 +228,9 @@
   liftM toBool $
   {#call g_drive_has_media#} (toDrive drive)
 
--- | Checks if drive is capabable of automatically detecting media changes.
+-- | Checks if drive is capable of automatically detecting media changes.
 driveIsMediaCheckAutomatic :: DriveClass drive => drive
- -> IO Bool -- ^ returns 'True' if the drive is capabable of automatically detecting media changes, 'False' otherwise.
+ -> IO Bool -- ^ returns 'True' if the drive is capable of automatically detecting media changes, 'False' otherwise.
 driveIsMediaCheckAutomatic drive =
   liftM toBool $
   {#call g_drive_is_media_check_automatic#} (toDrive drive)
@@ -335,7 +335,7 @@
         cCallback
         (castFunPtrToPtr cCallback)
 
--- | Finishes stoping a drive.
+-- | Finishes stopping a drive.
 --
 -- Throws a 'GError' if an error occurs.
 driveStopFinish :: DriveClass drive
@@ -351,7 +351,7 @@
                         return ())
 #endif
 
--- | Gets the kinds of identifiers that drive has. Use 'driveGetIdentifer' to obtain the
+-- | Gets the kinds of identifiers that drive has. Use 'driveGetIdentifier' to obtain the
 -- identifiers themselves.
 driveEnumerateIdentifiers :: (DriveClass drive, GlibString string) => drive
                            -> IO [string]
diff --git a/System/GIO/Volumes/Mount.chs b/System/GIO/Volumes/Mount.chs
--- a/System/GIO/Volumes/Mount.chs
+++ b/System/GIO/Volumes/Mount.chs
@@ -317,7 +317,7 @@
         cCallback
         (castFunPtrToPtr cCallback)
 
--- | Finishes guessing content types of mount. If any errors occured during the operation, error will be
+-- | Finishes guessing content types of mount. If any errors occurred during the operation, error will be
 -- set to contain the errors and 'False' will be returned. In particular, you may get an
 -- 'IoErrorNotSupported' if the mount does not support content guessing.
 mountGuessContentTypeFinish :: (MountClass mount, GlibString string) => mount
diff --git a/System/GIO/Volumes/Volume.chs b/System/GIO/Volumes/Volume.chs
--- a/System/GIO/Volumes/Volume.chs
+++ b/System/GIO/Volumes/Volume.chs
@@ -189,7 +189,7 @@
         cCallback
         (castFunPtrToPtr cCallback)
 
--- | Finishes mounting a volume. If any errors occured during the operation, error will be set to contain
+-- | Finishes mounting a volume. If any errors occurred during the operation, error will be set to contain
 -- the errors and 'False' will be returned.
 --
 -- If the mount operation succeeded, 'volumeGetMount' on volume is guaranteed to return the mount
@@ -251,7 +251,7 @@
                        return ())
 #endif
 
--- | Gets the kinds of identifiers that volume has. Use 'volumeGetIdentifer' to obtain the
+-- | Gets the kinds of identifiers that volume has. Use 'volumeGetIdentifier' to obtain the
 -- identifiers themselves.
 volumeEnumerateIdentifiers :: (VolumeClass volume, GlibString string) => volume
                            -> IO [string]
diff --git a/gio.cabal b/gio.cabal
--- a/gio.cabal
+++ b/gio.cabal
@@ -1,6 +1,6 @@
-cabal-version:  3.0
+cabal-version:  2.2
 Name:           gio
-Version:        0.13.10.0
+Version:        0.13.11.0
 License:        LGPL-2.1-only
 License-file:   COPYING
 Copyright:      (c) 2001-2010 The Gtk2Hs Team
@@ -17,7 +17,7 @@
                 Among other things that means using GObject.
                 It also means not cloning the POSIX API, but providing higher-level, document-centric interfaces.
 Category:       System
-Tested-With:    GHC == 7.0.4, GHC == 7.2.2, GHC == 7.4.1
+Tested-With:    GHC == 9.10.1, GHC == 9.8.2, GHC == 9.6.6, GHC == 9.4.8, GHC == 9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2
 Extra-Source-Files: marshal.list
                     hierarchy.list
 
@@ -40,14 +40,14 @@
 
 custom-setup
   setup-depends: base >= 4.6 && < 5,
-                 Cabal >= 2.0 && < 3.11,
+                 Cabal >= 2.2 && < 3.13,
                  gtk2hs-buildtools >= 0.13.2.0 && < 0.14
 
 Library
         build-depends:  base >= 4 && < 5,
                         array < 0.6,
-                        bytestring < 0.12,
-                        containers < 0.7,
+                        bytestring < 0.13,
+                        containers < 0.8,
                         mtl < 2.4,
                         glib >= 0.13.0.0 && < 0.14
 
@@ -81,6 +81,9 @@
           System.GIO.Volumes.VolumeMonitor
         other-modules:
           System.GIO.Signals
+        autogen-modules:
+          System.GIO.Signals
+          System.GIO.Types
 
         default-language:   Haskell98
         default-extensions: ForeignFunctionInterface
diff --git a/hierarchy.list b/hierarchy.list
--- a/hierarchy.list
+++ b/hierarchy.list
@@ -10,7 +10,7 @@
 # function is not specified, the <name> is converted to
 # gtk_<name'>_get_type where <name'> is <name> where each upperscore
 # letter is converted to an underscore and lowerletter. The underscore
-# is omitted if an upperscore letter preceeded: GtkHButtonBox ->
+# is omitted if an upperscore letter preceded: GtkHButtonBox ->
 # gtk_hbutton_box_get_type. The generation of a type can be
 # conditional by appending 'if <tag>'. Such types are only produces if
 # --tag=<tag> is given on the command line of TypeGenerator.
@@ -211,7 +211,7 @@
         GtkSourceLanguageManager	if gtksourceview2
 	GladeXML			as GladeXML, glade_xml_get_type if libglade
 	GConfClient			as GConf if gconf
-# These ones are actualy interfaces, but interface implementations are GObjects
+# These ones are actually interfaces, but interface implementations are GObjects
 	GtkEditable
 	GtkSourceStyle			as SourceStyleObject if gtksourceview2
 	GtkSourceStyleScheme		if sourceview
