я просто почему спрашиваю, не так давно по предложению Бена Титзера для выбора системы типов для Wasm GC мы должны сделать два прототипа - с номинальной системой типов и со структурной. Для номинальной системы типов команда V8 все сделала, а вот других голосов в CG за структурный подход кроме Россберга особо нету. Вот и хотелось бы услышать людей, которые функциональные языки в wasm компилируют, чтобы понять что им надо
струкрурная типизация добавляет много рантайм оверхеда и ее практически никак не оптимизировать, в отличии от номинальной. В то же время структурную можно оносительно просто эмулировать поверх номинальной, а вот наоборот уже так просто не выйдет. Поэтому наверное все и были против и шли ожесточенные дебаты. В конечном итоге v8 и binaryen сейчас решили прототипировать обе системы одновременно (они будут разделены на уровне инструкций)
Я тоже не хаскелист, но иногда кортежи с точки зрения языка - анонимные структуры, ковариантные относительно типов элементов. Можно конечно это все через Tuple1, Tuple2, Tuple3, … и универсальное представление сделать.
Это статья про реализацию проверки структурных типов на языке с номинальными типами. Это понятно. Я думал, мы говорим про пользовательские структурные типы прямо в языке с номинальными.