(defun blah ()
  (let ((result (foo)))
    (unless (null result)
      (throw result))))

generates the syntactically incorrect:

function blah() {
    var result = foo();
    return result != null ? (throw result) : null;
};