which language's run time cares about types?
Or, unfortunately, a lot of static languages. Any static language that allows type casting, for instance - that's the only way they can check whether a cast from a type to one of its descendants is valid (eg, in Java, casting an Object to a, say, URL).
[0]http://jayconrod.com/posts/54/a-tour-of-v8-crankshaft-the-op...