pub trait Cmd { type Model; // Required methods fn undo(&self, model: &mut Self::Model); fn redo(&self, model: &mut Self::Model); }