pub fn generate(
    c: &Config<'_>,
    s: &Struct<'_>,
    ctx: Context<'_>,
    opt: HIROptions
) -> Result<Vec<HIR>, Vec<ErrorMessage<GError>>>