Ported diff_ex, intersection_ex, union_ex, xor_ex