// ReduceLeft
/*
impl<T, U> ReduceLeft<T, U> for (T, U) {
fn reduce_left(self, f: impl Fn(U, T) -> T) -> T { f(self.1, self.0) }
}
*/
// ReduceRight
/*
impl<T, U> ReduceRight<T, U> for (T, U) {
fn reduce_right(self, f: impl Fn(T, U) -> T) -> T { f(self.0, self.1) }
}
*/