Interesting stuff. Unfortunately, this paper conflates dynamic typing with not being able to express anything about the types of values:<p>> An implicit effect of dynamic typing is that every variable, object slot, and so on, can reference objects of arbitrary types.<p>This is simply untrue. It <i>happens</i> to be true in Python and many other dynamic languages, but it by no means necessary. Dylan and Julia, for example, are both dynamically typed, yet let the programmer express that variables, fields, and collections will only contain certain types of values. That ability eliminates this whole class of problems – which tend to be the hardest problems when trying to optimized dynamic languages. If you don't have a nice type system, of course, then this kind of cleverness is absolutely necessary to get better performance. V8 in particular does this sort of thing amazingly well.