I don't understand why this safety couldn't be achieved by adding static structure to the data that the systems get.
Statically typed languages know the type of some memory without tagging it, nor having another program try to recognize it and tell you whether it's an int or a string.