sig
type 'a t = java'util'concurrent'Exchanger java_instance
val make : unit -> 'a Exchanger.t
val exchange : 'a Exchanger.t -> 'a -> 'a
val exchange_time : 'a Exchanger.t -> 'a -> java_long -> TimeUnit.t -> 'a
val null : 'a Exchanger.t
external is_null : 'a Exchanger.t -> bool = "java is_null"
external is_not_null : 'a Exchanger.t -> bool = "java is_not_null"
val wrap : 'a Exchanger.t -> 'a Exchanger.t option
val unwrap : 'a Exchanger.t option -> 'a Exchanger.t
end