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