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