Because there is no `$` for uuid, it is a distinct type for which no procs are defined. For "type-casting" in that sense just write `uuid.string`. `$` is an actual proc call, it runs a function. `uuid.string` is just telling the compiler "it is cool, treat the uuid like a string here, don't error"