pub trait Maximize<T> { fn max_xy(&self, value: T) -> Self; }
Return self.x.max(value.x) and self.y.max(value.y) as opposed to max which returns the highest out of self or value