sig type t = Mutex.t val create : unit -> Core_mutex.t val lock : Core_mutex.t -> unit val try_lock : Core_mutex.t -> bool val unlock : Core_mutex.t -> unit val critical_section : Core_mutex.t -> f:(unit -> 'a) -> 'a end