Module for the type ref, mutable indirection cells r containing a value of type 'a, accessed with !r and set by r := a.
type  'a t  = 'a  Base__.Import.Caml .ref = {}val  compare : ('a  ->  'a  ->  int)  ->  'a  t   ->  'a  t   ->  intval  equal : ('a  ->  'a  ->  bool)  ->  'a  t   ->  'a  t   ->  boolval  t_sexp_grammar : Base.Sexp.Private.Raw_grammar.t val  create : 'a  ->  'a  t val  (!) : 'a  t   ->  'a val  (:=) : 'a  t   ->  'a  ->  unitval  swap : 'a  t   ->  'a  t   ->  unitswap t1 t2 swaps the values in t1 and t2.
val  replace : 'a  t   ->  ('a  ->  'a )  ->  unitreplace t f is t := f !t
val  set_temporarily : 'a  t   ->  'a  ->  f:(unit ->  'b )   ->  'b set_temporarily t a ~f sets t to a, calls f (), and then restores t to its value prior to set_temporarily being called, whether f returns or raises.
val  sets_temporarily : And_value.t  list  ->  f:(unit ->  'a )   ->  'a sets_temporarily [ ...; T (ti, ai); ... ] ~f sets each ti to ai, calls f (), and then restores all ti to their value prior to sets_temporarily being called, whether f returns or raises.