Leverage QScopedValueRollback for PushValue.
Note that the constructor usage of these two classes behaves
differently when you only pass one arg:
PushValue will always push a default constructed new value, e.g. false
in the common case. QScopedValueRollback otoh won't push anything
then, it only pushes in the explicit two-value ctor.