(fold procedure value list) -> varies
Iteratively applies procedure to members of a list, and the result of the previous application. Value is used as the initial result. Returns the result of the final application.
Difficult to explain. Much easier to show a comparison example:
>>(* (* (* (* (* 1 1) 2) 3) 4) 5) :: 120
A better way:
>>(fold * 1 '(1 2 3 4 5)) :: 120