Union - ужас в любом виде, это мусор
Match - хорошо, но слабо, нужна деструктуризация
"Аннотации" - если адекватная рефлексия, то отлично, если оно в тупую как строка - плохо, от них смысла никакого
Именованные параметры - приятно, но еще приятнее будет адекватный механизм для dto
union ужас, но я думаю что им пришлось это сделать для возможности перевести на строгую типизацию старого кода где union используется повсеместно, постоянно заглядываю в кишки симфы дак волосы шевелятся ))) сейчас хоть можно указать пару тройку типов, уже лучше чем ничего, просто не стоит использовать union для нового кода )) но тут увы