Msat_backtrack.Refval create : ?copy:('a -> 'a) -> 'a -> 'a tCreate a backtrackable reference holding the given value initially.
val set : 'a t -> 'a -> unitSet the reference's current content
val get : 'a t -> 'aGet the reference's current content
val update : 'a t -> ('a -> 'a) -> unitUpdate the reference's current content
val push_level : _ t -> unitPush a backtracking level, copying the current value on top of some stack. The copy function will be used if it was provided in create.
val n_levels : _ t -> intNumber of saved values
val pop_levels : _ t -> int -> unitPop n levels, restoring to the value the reference was storing n calls to push_level earlier.