sig val blocking : bool val multiplier : int val timeout : ms:int -> (unit -> bool) -> unit val idle : prio:int -> (unit -> bool) -> unit end