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