anchor.diff:      var dartList = getDartInstance(jsValue);
       if (dartList != null) return dartList;
       dartList = jsValue.map((item) => dartValue(item)).toList();
  +    _jsArrayExpando[dartList] = jsValue;
       addDartInstance(jsValue, dartList);
       return dartList;
     } else if (jsValue is JsFunction) {
  
positive.code:   JsObject get jsProxy;
  }
  
  Expando<JsArray> jsArrayExpando = new Expando<JsArray>();
  
  /// Converts a dart value to a js value, using proxies when possible.
  /// TODO(jakemac): Use expando to cache js arrays that mirror dart lists?
  
negative.code:       for (var key in keys) {
          dartMap[key] = dartValue(jsValue[key]);
        }
        _jsMapExpando[dartMap] = jsValue;
        addDartInstance(jsValue, dartMap);
        return dartMap;
      }
  