sig
  val create : ?message:string -> string -> bool
  val create_exn : ?message:string -> string -> unit
  val blocking_create : ?message:string -> string -> unit
  val critical_section : ?message:string -> string -> f:(unit -> 'a) -> 'a
  val get_hostname_and_pid : string -> (string * Pid.t) option
end