pub trait BinaryAction<A, B = A> { type Output; // Required method fn activate(&self, lhs: A, rhs: B) -> Self::Output; }