pub trait Callback { type Output; fn call(&mut self, instr: &Instrument, event: &Event) -> Self::Output; }