pub fn create_c_enum_class<T: Display>(
    name: &str,
    variants: impl Iterator<Item = T>
) -> String