Documentation
pub mod convert;
pub mod merge;
fn get_fn_name_suffix(ty_name: String) -> String {
    let mut result = String::default();
    let mut started = false;
    let mut angle_brackets = 0;
    for c in ty_name.chars() {
        if c == '<' {
            angle_brackets += 1;
            continue;
        }
        if c == '>' {
            angle_brackets -= 1;
            continue;
        }
        if angle_brackets > 0 {
            continue;
        }
        if c.is_ascii_uppercase() {
            if !started {
                started = true;
            }
            result.push('_');
            result.push(c.to_ascii_lowercase());
            continue;
        }
        if started {
            if c.is_ascii_lowercase() || c.is_ascii_digit() {
                result.push(c);
                continue;
            }
            break;
        }
    }
    result
}