 
 -- * Types
   Bus,
+  BusClass,
   -- | The result of a 'BusSyncHandler'.
   BusSyncReply,
   -- | A handler that will be invoked synchronously when a new message
   --   is injected into the bus. This function is mostly used internally.
   --   Only one sync handler may be attached to a given bus.
   BusSyncHandler,
-  BusClass,
   castToBus,
   toBus,
 -- * Bus Operations


-- | Use a synchronous message handler that converts all messages to signals.
busUseSyncSignalHandler :: BusClass busT
                        => busT
                        -> IO ()
busUseSyncSignalHandler bus = do
  objectWithLock bus $ do

--   of whatever object posted the message; the 'busMessage' signal is
--   marshalled to the main thread via the main loop.
busEnableSyncMessageEmission :: BusClass busT
                             => busT  -- ^ @bus@ - a 'Bus'
                             -> IO ()
busEnableSyncMessageEmission =
    {# call bus_enable_sync_message_emission #} . toBus
