3287

Tried profiling: http://arclanguage.org/item?id=18139
No obvious wins. Things tried:
  - replacing unordered_map with map in table
  - eliminating manual memory management
  - disabling trace()
All were performance-neutral.

Just gotta reduce the number of allocs/lookups by focusing on
macroexpansion.
3288