sig type t val create : unit -> Mutex.t val lock : Mutex.t -> unit val try_lock : Mutex.t -> bool val unlock : Mutex.t -> unit end