pub trait ApplyDiff {
// Required methods
fn apply_diff_shallow(&mut self, diff: &[Diff]);
fn apply_diff(&mut self, diff: &[Diff]);
fn apply(&mut self, path: &SmallVec<[Index; 4]>, diff: &[Diff]);
}pub trait ApplyDiff {
// Required methods
fn apply_diff_shallow(&mut self, diff: &[Diff]);
fn apply_diff(&mut self, diff: &[Diff]);
fn apply(&mut self, path: &SmallVec<[Index; 4]>, diff: &[Diff]);
}