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