pub trait FileProcessed {
type Output;
// Required methods
fn into_output(self) -> Self::Output;
fn output_ref(&self) -> &Self::Output;
fn total_pages(&self) -> usize;
fn pages_in_core_after(&self) -> usize;
// Provided method
fn pages_in_core_before(&self) -> Option<usize> { ... }
}