pub trait Union<RHS = Self> { type Output; // Required method fn union(&self, rhs: &RHS) -> Self::Output; }