Rewrite alpha renaming to use a hash table instead of an alist.
Rewrite alpha renaming to use a hash table instead of an alist.

This forces imperative style, but that actually results in a much more
compact and cleaner program because it avoids the hair of passing
state around.

axch/dysvunctional-language,axch/dysvunctional-language,axch/dysvunctional-language,axch/dysvunctional-language