pub trait SnapshotVecDelegate { type Value; type Undo; fn reverse(values: &mut Vec<Self::Value, Global>, action: Self::Undo); }