43% SLOWER implementation pub fn experimental_uniques + std::clone::Clone>(a: Vec, b: Vec) -> Vec> { let mut first_uniq = a.clone(); let mut second_uniq = b.clone(); let mut x = first_uniq.len(); 'outer: loop { x -= 1; let mut y = second_uniq.len(); let mut removed = false; 'inner: loop { y -= 1; if first_uniq[x] == second_uniq[y] { first_uniq.remove(x); second_uniq.remove(y); removed = true } if x == 0{ if y == 0{ break 'outer } } else { if y == 0{ break } if removed { continue 'outer } } } } vec![first_uniq, second_uniq] }