pub trait Emitter {
// Required method
fn emit(
&mut self,
opcode: i64,
op0: &Operand,
op1: &Operand,
op2: &Operand,
op3: &Operand,
);
// Provided method
fn emit_n(&mut self, opcode: i64, ops: &[&Operand]) { ... }
}