pub trait LiveApply {
// Required method
fn apply(
&mut self,
cx: &mut Cx,
apply: &mut Apply<'_, '_, '_>,
index: usize,
nodes: &[LiveNode],
) -> usize;
// Provided method
fn apply_over(&mut self, cx: &mut Cx, nodes: &[LiveNode]) { ... }
}