pub trait ExtEmitter<T0, T1, T2, T3> { // Required method fn ext(&mut self, op0: T0, op1: T1, op2: T2, op3: T3); }