sig
type t = java'util'concurrent'locks'ReentrantReadWriteLock java_instance
val make_reentrant : ?fair:bool -> unit -> ReadWriteLock.t
val read_lock : ReadWriteLock.t -> Lock.t
val write_lock : ReadWriteLock.t -> Lock.t
val null : ReadWriteLock.t
external is_null : ReadWriteLock.t -> bool = "java is_null"
external is_not_null : ReadWriteLock.t -> bool = "java is_not_null"
val wrap : ReadWriteLock.t -> ReadWriteLock.t option
val unwrap : ReadWriteLock.t option -> ReadWriteLock.t
end