I've finally got back to working through the output of the new PS, and have hit another couple of errors. The following form:

(lambda (x)
  (apply (lambda (y) (bar (1+ y))) x))

...compiles to...

function (x) {
    return function (y) {
        return bar(y + 1);
    }.apply(this, x);
};

... which is a syntax error. Earlier PS put parentheses around the inner function, which is correct:

function (x) {
    return (function (y) {
        return bar(y + 1);
    }).apply(this, x);
};