pub trait Scaled {
// Required method
fn scale(&mut self, scale_factor: f32);
// Provided methods
fn scale_if_needed(&mut self, scale_factor: f32) { ... }
fn with_scale(&self, scale_factor: f32) -> Cow<'_, Self>
where Self: Clone { ... }
}