>
> The Number.prototype.$family is an excellent reason, indeed. Didn't
> catch my attention, oops! (I'll try to be more careful in the
> future...)
>
No apologies necessary! I was just pointing out how you might figure it out
on your own. Teach a man to fish and all that...
> Why Object.extend('forEach', [...]) instead of
> Object.implement('forEach', [...]). Or: why defining forEach as a
> property of Object rather than in it's prototype? Is it because
> everything is an object and we don't want other types to be "forEach-
> able"?
Object (which is a function) .extend will add forEach to the Object
namespace. Object.implement will add forEach to the prototype (as you note).
Extending the object prototype is a *bad* idea. See:
http://erik.eae.net/archives/2005/06/06/22.13.54/