pub trait TraceReader { // Required method fn read(&mut self) -> Result<Record>; // Provided method fn read_n(&mut self, n: usize) -> Result<Vec<Record>> { ... } }