Unfortunately this fast path leads to problems if Array.prototype is changed. We probably need to find out some way to optimize these methods by detecting changes to the prototype or other mechanisms.