pub trait Backend { type Output; // Required method fn generate(&self, ir: &IRModule) -> Result<Self::Output>; }