Made collection objects more imperative.

There's no point in wishing JavaScript had persistent data structures.
It doesn't, and implementing them would be a mistake: the imperative
collections are not only naturally faster but are written in C++.

I might take the approach .NET/LINQ did and use enumerators backed by
mutable collections to get functional queries.