7.1 Procedural Iteration Macros

The macros do-set, do-map, do-bag, do-bag-pairs, do-seq, and do-2-relation are just like Common Lisp’s dolist: they iterate in a procedural style, binding one or two variables to the elements or pairs of the collection and executing the body. Optionally, an expression can be supplied for the value of the entire form; otherwise, they return nil.