anchor.diff:      var obj = JsObject.assign(new JsObject(), prototype);
       apply(obj, arguments);
       return obj;
  +  }
  +
  +  @override
  +  String toString() {
  +    var b = new StringBuffer('f');
  +    if (name != null)
  +      b.write(' $name');
  +    b.write('(');
  +
  +    for (int i = 0; i < parameters.length; i++) {
  +      if (i > 0)
  +        b.write(', ');
  +      b.write(parameters[i].name);
  +    }
  +
  +    b.write(') { [native code] }');
  +    return b.toString();
     }
   }
   
  
positive.code: import 'js_value.dart';
  
  abstract class JsFunction extends JsValue {
    final JsObject prototype = new JsObject();
    final String name;
    final JsValue context;
  
negative.code:     }
    }
  }
  
  class JsParameter {
    final String name;
  
    JsParameter(this.name);
  }