use std::cmp::Ordering;
pub(crate) trait OrderingExt {
fn lexico<F: Fn() -> Ordering>(self, f: F) -> Self;
}
impl OrderingExt for Ordering {
fn lexico<F: Fn() -> Ordering>(self, f: F) -> Ordering {
match self {
Ordering::Less | Ordering::Greater => self,
Ordering::Equal => f(),
}
}
}