-> We could improve this by building lists as left folds when implementing them
-> as continuation-passing style folds. We'd just replace above:
+> We could improve this by building lists as **left folds**. What's that?
+>
+> Well, the right fold of `f` over a list `[a;b;c;d;e]`, using starting value z, is:
+>
+> f a (f b (f c (f d (f e z))))
+>
+> The left fold on the other hand starts combining `z` with elements from the left. `f z a` is then combined with `b`, and so on:
+>
+> f (f (f (f (f z a) b) c) d) e
+>
+> or, if we preferred the arguments to each `f` flipped:
+>
+> f e (f d (f c (f b (f a z))))
+>
+> Recall we implemented v3 lists as their own right-fold functions. We could
+> instead implement lists as their own left-fold functions. To do that with our
+> v5 lists, we'd replace above: