`sig
type 'a uref
type 'a t = 'a BatUref.uref
val uref : 'a -> 'a BatUref.uref
val uget : 'a BatUref.uref -> 'a
val uset : 'a BatUref.uref -> 'a -> unit
val unite :
?sel:('a -> 'a -> 'a) -> 'a BatUref.uref -> 'a BatUref.uref -> unit
val equal : 'a BatUref.uref -> 'a BatUref.uref -> bool
val print :
('a BatInnerIO.output -> 'b -> unit) ->
'a BatInnerIO.output -> 'b BatUref.uref -> unit
val uref_printer :
'a BatValue_printer.t -> 'a BatUref.uref BatValue_printer.t
val t_printer : 'a BatValue_printer.t -> 'a BatUref.t BatValue_printer.t
end`