Having push and unshift return the length of the new array.

(its what JavaScript does, and we are modeling the JSArray on them)
Fixing Map's size; it was just wrong before.
Adding substr and substr2