cond, and, and or
We've already seen that the special form if is a kind of expression,
which returns a value as well as affecting control flow. Scheme also has
cond, a more general conditional construct, and the extended
logical operators and and or. These are all value-returning
expressions; they're also special forms, not procedures: they control
whether expressions get evaluated, depending on the values returned by
other expressions.