Booleans
--------
+For these questions, and the ones on triples below, we're setting them up so as to encourage you to experiment with Racket and to formulate your answer in Scheme/Racket syntax. But you can answer in Lambda Calculus syntax if you prefer.
+
Recall our definitions of true and false.
> **true** is defined to be `\t f. t`
(t snd_of_three) ; will evaluate to 20
If you're puzzled by having the triple to the left and the function that
-operates on it come second, think about why it's being done this way: the pair
+operates on it come second, think about why it's being done this way: the triple
is a package that takes a function for operating on its elements *as an
argument*, and returns *the result of* operating on its elements with that
function. In other words, the triple is a higher-order function.