anchor.diff:          0);
     },
   
  -  getOwnPropertyDescriptorJson: function(array, property) {
  -    return JSON.stringify(Object.getOwnPropertyDescriptor(array, property));
  +  getOwnPropertyDescriptor: function(array, property) {
  +    return Object.getOwnPropertyDescriptor(array, property);
     },
   
     setLength: function(array, len) {
  
positive.code: external reduceRightSumDoubledElements(List array);
  
  @Js()
  external getOwnPropertyDescriptorJson(List array, property);
  
  @Js("setLength")
  external callSetLength(List array, length);
  
negative.code:       // This test matters to make behavior consistent with JS native arrays
        // and to make devtools integration work well.
        var list = ["a", "b"];
        var descriptor = getOwnPropertyDescriptor(list, 0);
  
        expect(descriptor.value, equals("a"));
        expect(descriptor.writable, isTrue);
        expect(descriptor.enumerable, isTrue);
        expect(descriptor.configurable, isTrue);
  
        descriptor = getOwnPropertyDescriptor(list, "length");
        expect(descriptor.value, equals(2));
        expect(descriptor.writable, isTrue);
        expect(descriptor.enumerable, isFalse);
        expect(descriptor.configurable, isFalse);
      });
  
      test("concat js arrays", () {
  