Poiché TypeScript è tipizzato strutturalmente, un UserId e un OrderId che sono entrambi string sono intercambiabili — il compilatore non può impedirti di mescolarli. I tipi con marchio simulano la tipizzazione allegando un "marchio" univoco e fantasma in modo che i tipi altrimenti identici diventino distinti.
