pub trait Equality<Rhs: ?Sized = Self> {
type Assertion;
fn is_eq(&self, rhs: &Rhs) -> Self::Assertion;
fn is_ne(&self, rhs: &Rhs) -> Self::Assertion;
}
pub trait RangeInclusive<T: ?Sized> {
type Assertion;
fn in_range(&self, min: &T, max: &T) -> Self::Assertion;
}
pub trait LessThan<T: ?Sized> {
type Assertion;
fn less_than(&self, other: &T) -> Self::Assertion;
}
pub trait Container<T: ?Sized> {
type Assertion;
fn has(&self, other: &T) -> Self::Assertion;
fn has_not(&self, other: &T) -> Self::Assertion;
}