 --   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 bus
-               => Signal bus (Message -> IO ())
+busSyncMessage :: BusClass busT
+               => Signal busT (Message -> IO ())
 busSyncMessage =
     Signal $ connect_BOXED__NONE "sync-message" peekMiniObject

--   If the time given is 'Nothing', the function will wait forever.
--   If the time given is @0@, the function will behave like 'busPop'.
busTimedPop :: BusClass busT
            => busT
            -> Maybe ClockTime
            -> IO (Maybe Message)
busTimedPop bus timeoutM =
    let timeout = case timeoutM of
                    Just timeout' -> timeout'

--   handler. If 'Nothing' is passed to this function, it will unset
--   the handler.
busSetSyncHandler :: BusClass busT
                  => busT                 -- ^ @bus@ - a 'Bus'
                  -> Maybe BusSyncHandler -- ^ @busSyncHandlerM@ - the new 'BusSyncHandler'
                  -> IO ()
busSetSyncHandler bus busSyncHandlerM = do
  objectWithLock bus $ do
