sig type !'a t val spawn : (unit -> 'a) -> 'a Domain.t val join : 'a Domain.t -> 'a type id = private int val get_id : 'a Domain.t -> Domain.id val self : unit -> Domain.id val before_first_spawn : (unit -> unit) -> unit val at_exit : (unit -> unit) -> unit val cpu_relax : unit -> unit val is_main_domain : unit -> bool val recommended_domain_count : unit -> int module DLS : sig type 'a key val new_key : ?split_from_parent:('a -> 'a) -> (unit -> 'a) -> 'a Domain.DLS.key val get : 'a Domain.DLS.key -> 'a val set : 'a Domain.DLS.key -> 'a -> unit end end