Here's a really strange one.

We have a form like the following. I've stripped it down for brevity, so it looks weird:

(loop :for time :from time1 :below time2 :do
  (when (foo
         (ë ()
           (bar
            (ë () (blah)) time))
         time)
    (break)))

It used to generate this:

for (var time = time1; time < time2; time += 1) {
    if (foo(function () {
        return barr(function () {
            return blah();
        }, time);
    }, time)) {
        break;
    };
};

But now it generates this:

for (var time = time1; time < time2; time += 1) {
    with ({ time : time }) {
        if (foo(function () {
            return bar(function () {
                return blah();
            }, time);
        }, time)) {
            break;
        };
    };
};

That is one weird WITH clause in there! No doubt it has something
to do with lexical scoping magic going on under the hood. But 
I definitely don't want it in a performance-critical loop.

Daniel