Como TypeScript é estruturalmente tipado, um UserId e um OrderId que são ambos string são intercambiáveis — o compilador não consegue impedir que você os misture. Tipos marcados simulam tipagem nominal anexando uma "marca" única e fantasma, tornando tipos normalmente idênticos distintos.
