sig
  type t = Mutex.t
  val create : unit -> BatMutex.Mutex.t
  val lock : BatMutex.Mutex.t -> unit
  val try_lock : BatMutex.Mutex.t -> bool
  val unlock : BatMutex.Mutex.t -> unit
  val synchronize : ?lock:BatMutex.Mutex.t -> ('-> 'b) -> '-> 'b
  val make : unit -> BatConcurrent.lock
end