A generalization of CL:COND that makes it convenient to compute a value in
the predicate expression of a clause and then use that value in the consequent.
If the predicate expression is a LET form, then the scope of the variables bound
by the LET is extended to include the consequent expressions. For example:
(cond ((let ((x (foo)))
Here the X in (BAZ X) is the one bound to the result of (FOO).