             {
             }
 
-            if (index == -1)
-            {
-                index = propertyToNumber(name);
-            }
-
             if (index == -1 || index > source.length)
             {
                 throw new Error();

            return this.slice(count);
        }

//        public function get first():*
//        {
//            return source.length > 0 ? source[0] : null;
//        }
//
//        public function set first(item:*):void
//        {
//            source[0] = item;
//        }
//
//        public function get last():*
//        {
//            return source.length > 0 ? source[source.length - 1] : null;
//        }
//
//        public function set last(item:*):void
//        {
//            source[source.length - 1] = item;
//        }

        public function fold(...rest):*
        {


            if (index == -1)
            {
                throw new Error();
            }
            else
            {
                source[index] = value;
            }
        }

        override flash_proxy function hasProperty(name:*):Boolean
