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

--   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'

--   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
