anchor.diff:     * supplied it is the value of `this` for the invocation.
      */
     dynamic apply(List args, {thisArg}) {
  -    if (_isDebug){print("$this apply args:$args this:$thisArg");}
  +    if (_isDebug) {
  +      print("$this apply args:$args this:$thisArg");
  +    }
       if (thisArg == null) {
         thisArg = this;
       }
  
positive.code:   static JsObject _create(JsFunction constructor, arguments) {
      var result = new JsObject.internal().._constructor = constructor;
      result._obj["constructor"] = constructor;
      constructor.apply(arguments, thisArg: result);
      return result;
    }
  
    /**
     * Constructs a [JsObject] that proxies a native Dart object; _for expert use
  
negative.code: 
    bool hasProperty(String property) => _obj.containsKey(property);
  
    bool instanceof(JsFunction type) {
      if (type == null) {
        return false;
      }
      if (_constructor == type) {
        return true;
      }
      JsObject start = _prototype;
      while (start != null) {
        if (start._constructor == type) {
          return true;
        }
        start = start._prototype;
      }
      return false;
    }
  }
  
  class JsProperty {
  