fix union/intersect/diff