pub trait Command {
type Error: Error;
fn run(&self, config: &Config) -> Result<(), Self::Error>;
fn apply(&self, config: &Config) { ... }
}
pub trait Command {
type Error: Error;
fn run(&self, config: &Config) -> Result<(), Self::Error>;
fn apply(&self, config: &Config) { ... }
}