pub trait StatsProvider {
    // Required methods
    fn get(&self, stat: Stat) -> Option<Precision<ScalarValue>>;
    fn len(&self) -> usize;
    // Provided method
    fn is_empty(&self) -> bool { ... }
}pub trait StatsProvider {
    // Required methods
    fn get(&self, stat: Stat) -> Option<Precision<ScalarValue>>;
    fn len(&self) -> usize;
    // Provided method
    fn is_empty(&self) -> bool { ... }
}