pub trait VecLike<D>: AsRef<[<D as SnapshotVecDelegate>::Value]> + AsMut<[<D as SnapshotVecDelegate>::Value]> + Rollback<UndoLog<D>>where
D: SnapshotVecDelegate,{
// Required methods
fn push(&mut self, item: <D as SnapshotVecDelegate>::Value);
fn len(&self) -> usize;
fn reserve(&mut self, size: usize);
}