1signature Sref =
2sig
3
4  type 'a t
5  val new     : 'a -> 'a t
6  val update  : 'a t -> ('a -> 'a) -> unit  (* locks *)
7  val value   : 'a t -> 'a               (* no locks *)
8
9end
10