anchor.diff:      // object for which there is an interceptor
       var jsObj = JS('', 'new #()', factoryFunction);
   
  -    return _wrapToDart(jsObj);
  +    return _castToJsObject(_wrapToDart(jsObj));
   
       // TODO(sra): Investigate:
       //
  
positive.code:     if ((object is! Map) && (object is! Iterable)) {
        throw ArgumentError("object must be a Map or Iterable");
      }
      return _wrapToDart(_convertDataTree(object));
    }
  
    static _convertDataTree(Object data) {
  
negative.code:   }
  }
  
  Object _wrapToDart(o) {
    if (JS('bool', 'typeof # == "function"', o)) {
      return _getDartProxy(
          o, DART_CLOSURE_PROPERTY_NAME, (o) => JsFunction._fromJs(o));
  