Module Vernacstate.System

val protect : ('a -> 'b) -> 'a -> 'b

protect f x runs f x and discards changes in the system state (both Synterp.t and Interp.System.t). It doesn't touch the proof functional state in Interp.t