pub trait GenerateReport { type Report; type Error; // Required method fn generate_report(&self) -> Result<Self::Report, Self::Error>; }