piercing apples, here's a stepwise computation of the application of a
recursive function. We'll use a function `sink`, which takes one
argument. If the argument is boolean true (i.e., `\x y.x`), it
-returns itself (a copy of `sink`); if the argument is boolean false,
-it returns I. That is, we want the following behavior:
+returns itself (a copy of `sink`); if the argument is boolean false
+(`\x y. y`), it returns `I`. That is, we want the following behavior:
sink false ~~> I
sink true false ~~> I
sink true true false ~~> I
sink true true true false ~~> I
-So we make sink = Y (\f b. b f I):
+So we make `sink = Y (\f b. b f I)`:
1. sink false
2. Y (\fb.bfI) false