(cond ..clauses)
  clauses: zero or more arrs

Tests several conditions in turn.

Each clause must be an array, (condition ..forms).

Evaluates each condition in turn. When a condition evaluates to something other than #f or #n, the remaining forms in that clause are evaluated, and the value of the last form in the clause is returned. Any remaining clauses are not evaluated.

If all of the conditions evaluate to #f or #n, the cond form as a whole evaluates to #n.

The final clause may use the symbol else in place of its condition. When all other conditions have evaluated to #f or #n, the else clause will be evaluated and returned.

  ((>= 5 10)
    (bail "something is wrong"))
    (prn "five is less than ten")))