pub trait Intersect<S, O> {
// Required methods
fn intersect(&self, other: S) -> O;
fn has_non_empty_intersection_with(&self, other: S) -> bool;
}
pub trait Intersect<S, O> {
// Required methods
fn intersect(&self, other: S) -> O;
fn has_non_empty_intersection_with(&self, other: S) -> bool;
}