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