Steve wrote that "folks who wonder about how I could (re)write such a giant system without any "static" type annotations: http://tinyurl.com/26n2zq".
As a co-creator of gradual transformations from dynamically typed to statically typed languages (see DLS 2006), I am perfectly aware of this idea. The problem is that Ecmascript's implementation of the idea is broken, unsound. So whatever advantages you would get from a sound system, such as ML's or even Java's, you won't get from ES 4. (The most you get is C's notion of types.)
Nobody has tested this notion on a big style. At PLT, we have ported some 10,000 lines to a sound system. Works like a charm and I firmly believe that soundness was important. When you get a type bug at run-time it's not in the typed part of your code. With Ecmascript, this is not true. You will need to search the whole thing.
;; ---
One more comment on size: my experience in teaching a programming course with free choice of language is that Ruby, Perl, Python beat Java and C# by a factor of 3, C and C++ projects usually fail (due to the lack of experience), and Scheme projects are always shorter and more complete than all others. This may or may not reflect the personal bias of the instructor, though.
-- Matthias Felleisen