pub trait Interpreter<H> {
type State;
type Trap;
// Required methods
fn deconstruct(self) -> (Self::State, Vec<u8>);
fn state(&self) -> &Self::State;
fn state_mut(&mut self) -> &mut Self::State;
fn run(&mut self, handle: &mut H) -> Capture<ExitResult, Self::Trap>;
}