Strings are untyped
blog.existentialize.com
blog.existentialize.com
Another idea was to store the type information in the name of the variable, like in the Hungarian notation. http://www.joelonsoftware.com/articles/Wrong.html
What you described, sounds a lot like good ol' typedef.
It solves one problem while introducing a bigger problem which is - everyone now needs to understand your 'new' type system.