pub trait Summary<K, V> {
// Required methods
fn iter(&self) -> Iter<'_, K, V>;
fn contains_key(&self, k: &K) -> bool;
fn get(&self, key: &K) -> Option<&V>;
fn len(&self) -> usize;
// Provided method
fn is_empty(&self) -> bool { ... }
}