pub trait Codegen { type Output; // Required method fn generate(&self, project: &Project) -> Validation<Self::Output>; }