sig   type t = Thread.t   val spawn : (unit -> 'a) -> CCThread.t   val spawn1 : ('-> 'b) -> '-> CCThread.t   val spawn2 : ('-> '-> 'c) -> '-> '-> CCThread.t   val detach : (unit -> 'a) -> unit   module Arr :     sig       val spawn : int -> (int -> 'a) -> CCThread.t array       val join : CCThread.t array -> unit     end   module Barrier :     sig       type t       val create : unit -> CCThread.Barrier.t       val reset : CCThread.Barrier.t -> unit       val wait : CCThread.Barrier.t -> unit       val activate : CCThread.Barrier.t -> unit       val activated : CCThread.Barrier.t -> bool     end end