x = []
try {
    (function() {
        schedulegc(1);
        ((function() {
            return {
                y: function() {
                    u() = []
                }
            }
        })())
    })()
    watch.call(x, "valueOf", function() {})
    gc()
} catch (e) { print(e); }
try {
    (function() {
        x.valueOf =
        (function() {
                y();
        })
    })()
    x + 2
    print('foo')
} catch (e) { print(e); }
