Another syntax error in the new PS. This form:

(let ((blah (let ((x (foo)))
              (if (null x) y z)))))

... compiles to...

var blah = x = foo(), x == null ? y : z;

... which is incorrect. Previously, PS produced this, which is correct:

var blah = (x = foo(), x == null ? y : z);

Daniel