FOREACH data template					(library procedure)
(FOREACH data1 data2 ... template)

	command.  Evaluates the template list repeatedly, once for each
	member of the data list.  If more than one data list are given,
	each of them must be the same length.  (The data inputs can be
	words, in which case the template is evaluated once for each
	character.)

	In a template, the symbol ?REST represents the portion of the
	data input to the right of the member currently being used as
	the ? slot-filler.  That is, if the data input is [A B C D E]
	and the template is being evaluated with ? replaced by B, then
	?REST would be replaced by [C D E].  If multiple parallel slots
	are used, then (?REST 1) goes with ?1, etc.

	In a template, the symbol # represents the position in the data
	input of the member currently being used as the ? slot-filler.
	That is, if the data input is [A B C D E] and the template is
	being evaluated with ? replaced by B, then # would be replaced
	by 2.

