Хочу поделится как максимально неудобно сделаны юнионы в Unison, либо я чего то не понимаю. Сначала, вот как выглядит декларация размеченного пересечения на нормальном языке
В Unison record типы(типы с именованными полями) поддерживают только сингл конструктор, поэтому чтобы создать юнион между рекорд типами, каждый из них приходится объявлять отдельно и это превращается вот в такой вот цирк LoggedIn LoggedInType