# Module OUnitShared.Mutex

    module Mutex: sig .. end

    type t = int * OUnitShared.scope

    val create : 'a -> int * 'a

    val lock : OUnitShared.shared -> int * OUnitShared.scope -> unit

    val try_lock : OUnitShared.shared -> int * OUnitShared.scope -> bool

    val unlock : OUnitShared.shared -> int * OUnitShared.scope -> unit

    val with_lock : OUnitShared.shared -> int * OUnitShared.scope -> (unit -> 'a) -> 'a