R4RS 4.2.1  (and <expression> ...)  ==>  object

The <expression>s are evaluated from left to right, and the value
of the first expression that evaluates to a false value  is returned.
Any remaining expressions are not evaluated. If all the expressions
evaluate to true values, the value of the last expression is returned.
If there are no expressions then #T is returned.

(and (= 2 2) (> 2 1))  ==>  #t
(and (= 2 2) (< 2 1))  ==>  #f
(and 1 2 'c '(f g))    ==>  (f g)
(and)                  ==>  #t
