Tue Mar 25 19:59:59 EDT 2008
two identifiers are bound-identifier=? only if they they have the
same name and are present in the original program or are introduced
by the same macro.
free-identifier=? determines if two identifiers WOULD refer to the
generate-temporaries creates a list of temporary names. not becase
renaming is necessary (never is!) but because it might be convenient
to insert (a list of) names.
for each expansion, a mark is created. input and output syntax is
marked, and double marks are dropped. the net result is that
identifiers introduced by the macro are marked once.