pub trait ArrayVisitorImpl<M: SerializeMetadata + DeserializeMetadata + Debug = EmptyMetadata> {
// Required method
fn _metadata(&self) -> M;
// Provided methods
fn _visit_buffers(&self, _visitor: &mut dyn ArrayBufferVisitor) { ... }
fn _nbuffers(&self) -> usize { ... }
fn _visit_children(&self, _visitor: &mut dyn ArrayChildVisitor) { ... }
fn _nchildren(&self) -> usize { ... }
}