pub trait AsMachine { type State; // Required method fn as_machine(&self) -> &Machine<Self::State>; }