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