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