fn iters_match_ignoring_symbols(iter1: &Iter, iter2: &Iter) -> WeldResult<bool> {
    Ok(iter1.kind == iter2.kind
        && iter1.data.compare_ignoring_symbols(iter2.data.as_ref())?
        && options_match_ignoring_symbols(&iter1.start, &iter2.start)?
        && options_match_ignoring_symbols(&iter1.end, &iter2.end)?
        && options_match_ignoring_symbols(&iter1.stride, &iter2.stride)?)
}
Are two iterators equivalent ignoring symbols defined inside each one?
weld/src/optimizer/transforms/loop_fusion_2.rs