(function() {
    var o = {'arguments': 42};
    with (o) { // Definitely forces heavyweight.
        // Note syntax is not a property access.
        reportCompare(delete arguments, true,
                      "arguments property deletion within with block");
    }
    reportCompare('arguments' in o, false,
                  "property deletion observable");
})();

(function() {
    var o = {'arguments': 42};
    delete o.arguments;
    reportCompare('arguments' in o, false,
                  "arguments property deletion with property access syntax");
})();

(function() {
    var arguments = 42; // Forces heavyweight.
    reportCompare(delete arguments, false,
                  "arguments variable");
})();

(function() {
    reportCompare(delete arguments, false, "arguments object");
})();