This is a common approach in many languages (actually all that I know about). Clearly stuff on the stack can be attached an invisible attribute "it's on the stack!" but that doesn't go well with separate compilation.
As we don't provide ABI stability guarantees yet, it is not too late to make all important type system properties part of symbol mangling.
