Тут явно путаница между tagged unions (которые еще известны как sum types) и union types. Union types в Dart скорее всего не будет (слишком много головной боли от них и мало пользы) , а вот tagged unions скорее всего будут в каком-то виде
Вячеслав, привет. Можете поделиться мыслями, что является более надежным и удобным? Мне, как и некоторым разработчиками, чтобы избежать работы с null удобно и нравится использовать дефолтные значения. Из коробки их нет, но в конструкторе всегда можно указать через ??. Чем вообще плох такой подход, какие приемущества у non-nullable? Например в молодом языке V все из коробки дефолтное, мне лично кажется это хорошим подходом