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