I'll use SETF to force PS to interpret the right-hand side as an expression. These are correct:
(ps (setf x (let ((a 1)) a))) => "x = (a6872 = 1, a6872);"
(ps (setf x (unless (null a) (1+ a)))) => "x = a != null ? a + 1 : null;"
But this is wrong:
(ps (setf x (let ((a (foo))) (unless (null a) (1+ a))))) => "x = (a6874 = foo(), if (a6874 != null) { a6874 + 1; });"
Daniel