     makeBusSyncHandler :: CBusSyncHandler
                        -> IO {# type GstBusSyncHandler #}
 
--- the following mess is necessary to clean up safely after busSetSyncHandler.
--- gstreamer doesn't give us a nice way to do this (such as a DestroyNotify)
+-- the following mess is necessary to clean up the FunPtr after
+-- busSetSyncHandler.  gstreamer doesn't give us a nice way to do this
+-- (such as a DestroyNotify pointer in the argument list)
 weakNotifyQuark, funPtrQuark :: Quark
 weakNotifyQuark = unsafePerformIO $ quarkFromString "Gtk2HS::SyncHandlerWeakNotify"
 funPtrQuark = unsafePerformIO $ quarkFromString "Gtk2HS::SyncHandlerFunPtr"

--   'busEnableSyncMessageEmission' were "cancelled" by
--   calling this function.
busDisableSyncMessageEmission :: BusClass busT
                              => busT
                              -> IO ()
busDisableSyncMessageEmission =
    {# call bus_disable_sync_message_emission #} . toBus

--   This signal will not be emitted by default, you must first call
--   'busUseSyncSignalHandler' if you want this signal to be emitted
--   when a message is posted on the bus.
busSyncMessage :: BusClass busT
               => Signal busT (Message -> IO ())
busSyncMessage =
    Signal $ connect_BOXED__NONE "sync-message" peekMiniObject
