pub trait CosmicFlags {
type SubCommand: ToString + Debug + Clone + Send + 'static;
type Args: Into<Vec<String>> + Debug + Clone + Send + 'static;
// Provided methods
fn action(&self) -> Option<&Self::SubCommand> { ... }
fn args(&self) -> Vec<&str> { ... }
}