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