When you don't get warned that you assigned or passed something that's a string but not a UUID, because the type checker can't tell them apart.
Nominal types fix this. Typescript doesn't precisely implement them, but its "branded types" seem to be close enough for most purposes. For further discussion and a sandbox example, see https://www.typescriptlang.org/play#example/nominal-typing
Comments
When you don't get warned that you assigned or passed something that's a string but not a UUID, because the type checker can't tell them apart.
Nominal types fix this. Typescript doesn't precisely implement them, but its "branded types" seem to be close enough for most purposes. For further discussion and a sandbox example, see https://www.typescriptlang.org/play#example/nominal-typing