Those look like a good read, i will later.
As for iterate, i have read the code a little. Not sure if the codes approach is the best. (I'd have to read deeper to really make anything of judgement) Also why do people drown their code in comments

use other files for documentation

.. Not like we are all programming with only a text editor, we got browsers and all that shit on.. use it! For documentation how it works too. I usually only use single lines of documentations, unless where there are documentation-strings from which i want a good explanation.(I should check how to add/change doc-string after the function is defined.)
Another thing that struck me is this tidbit of the manual.
From here.
what iterate doc about higher order functions wrote:One problem with higher-order functions is that they are inefficient, requiring multiple calls on their argument function. While the the built-ins, like map and mapcar, can be open-coded, that cannot be so easily done for user-written functions. Also, using higher-order functions often results in the creation of intermediate sequences that could be avoided if the iteration were written out explicitly.
Isn't that just untrue? If the functions are constant or based on higher-order functions on constants, you should be able to expand them just as macros, with similar results. What i actually consider to be the use for iterate, is that it is more convenient. Especially in iterating while accumulating/collecting it can be very handy.