Но при любом раскладе "внезапно" в проде это не всплывёт никак по понятным причинам.
union
и ключей в типе - не имеет значения. А значит получение одного конкретного кортежа (а не всех возможных комбинаций) опирается на особенность внутренней реализации, которая вполне в какой-то момент для какой-то оптимизации может и переставить ключи.for in
для объектов, до принятия последних стандартов закрепивших порядок: все так делали, но единицы - попадали.) <code></code>
union
-тип, то без явного уточнения(narrowing) типа через if
он и остаётся union
, Как задать каждому методу свой тип, я указал в комменте выше.