fn changed_parts<'a>(
    src: &'a str,
    opposite_src: &'a str
) -> Vec<(TextChangeKind, Vec<&'a str>, Vec<&'a str>)>