Yes, it seems like a bit of easy future-proofing in case es6-shim is eventually used to fix bugs in a mostly-complete es6 implementation.  It's a guess, but it's easy to rip it out if our guess seems wrong.  Since our shims add methods only if they don't already exist, it also helps to ensure that we don't add shimmed iterators to various places (String, eg) if an es6-compliant implementation already exists.