pub trait Point: Send + Sync { fn x(&self) -> f64; fn y(&self) -> f64; fn opt_z(&self) -> Option<f64> { ... } fn opt_m(&self) -> Option<f64> { ... } }