- (if* X Y [Z])syntax
The anaphoric if: if the expression X evaluates to a true value, the expression Y will be executed with the result of X bound to the variable it. If X is false, then Z (if supplied) will be evaluated:
(if* (> 3 1) it) ==> #t (if* (memq 'a '(b a c)) (cdr it) 99) ==> (c) (if* #f it 1) ==> 1 (if* #f #f) ==> #<unspecified>