Цель вашего вопроса, похоже, повысить производительность при использовании Set.union
за счет использования недокументированных возможностей этой реализации функции. Но Set.union
абстрагирует вас от сложности реализации, оставляя только теоретико-множественное значение операции union , которая является независимой , для свойств аргумента. Умышленное нарушение этого уровня абстракции отрицательно влияет на сложность и удобство сопровождения вашего кода, и его следует избегать.
Хотя иногда у вас нет выбора, кроме как иметь дело с неплотными абстракциями , Set.union
определенно не тот случай. И хорошо, что услышит от Томаса , что реализация Set.union
не имеет недостатков в вытекающей абстракции.