sig val main : unit -> unit val start : unit -> Thread.t val thread_main : unit -> unit val reset : unit -> unit val async : ('a -> unit) -> 'a -> unit val sync : ('a -> 'b) -> 'a -> 'b val gui_safe : unit -> bool end