@@ -124,11 +124,11 @@ the computation `'a'::('b'::('S'::('d'::[])))` (or, in our old style,
`make_list 'a' (make_list 'b' (make_list 'S' (make_list 'd' empty)))`). The
recipe for constructing the list goes like this:

`make_list 'a' (make_list 'b' (make_list 'S' (make_list 'd' empty)))`). The
recipe for constructing the list goes like this:

->      (0)  Start with the empty list []
->      (1)  make a new list whose first element is 'd' and whose tail is the list constructed in step (0)
->      (2)  make a new list whose first element is 'S' and whose tail is the list constructed in step (1)
->      -----------------------------------------
->      (3)  make a new list whose first element is 'b' and whose tail is the list constructed in step (2)
+>      (0)  Start with the empty list []
+>      (1)  make a new list whose first element is 'd' and whose tail is the list constructed in step (0)
+>      (2)  make a new list whose first element is 'S' and whose tail is the list constructed in step (1)
+>      -----------------------------------------
+>      (3)  make a new list whose first element is 'b' and whose tail is the list constructed in step (2)
>      (4)  make a new list whose first element is 'a' and whose tail is the list constructed in step (3)

What is the type of each of these steps?  Well, it will be a function
>      (4)  make a new list whose first element is 'a' and whose tail is the list constructed in step (3)

What is the type of each of these steps?  Well, it will be a function