oneof must be disjoint sets