pub trait DataAPI { type Data; // Required method fn raw(&self) -> &Self::Data; // Provided method fn as_ref(&self) -> DataRef<'_, Self::Data> { ... } }