Ponieważ TypeScript ma typy strukturalne, UserId i OrderId, które są obydwa string, są wymienne — kompilator nie może Cię zatrzymać przed pomyleniem ich. Typy znakowane symulują typy nominalne, dołączając unikalny, fantomowy "znak", dzięki czemu inaczej identyczne typy stają się różne.
