current list, the tail of the current list, and the result of continuing to
fold `f` over the tail, with a given base value `z`.
- Call this a **version 4** list. The empty list could be the same:
+ Call this a **version 4** list. The empty list can be the same as in v3:
- empty === \f z. z
+ <pre><code>empty ≡ \f z. z</code></pre>
The list constructor would be:
- make_list === \h t. \f z. f h t (t f z)
+ <pre><code>make_list ≡ \h t. \f z. f h t (t f z)</code></pre>
It differs from the version 3 `make_list` only in adding the extra argument
`t` to the new, outer application of `f`.