Поскольку TypeScript работает со структурной типизацией, UserId и OrderId, которые оба представляют string, взаимозаменяемы — компилятор не может предотвратить их смешивание. Именованные типы имитируют типизацию, добавляя уникальный, фантомный "бренд", благодаря чему в остальном идентичные типы становятся различными.
