sig
  val start : unit -> Thread.t
  val thread_main : unit -> unit
  val top : Widget.toplevel Widget.widget
  val async : ('a -> unit) -> 'a -> unit
  val sync : ('a -> 'b) -> 'a -> 'b
  val gui_safe : unit -> bool
  val running : unit -> bool
end