I'm liking this a lot more than the symbol-table-ish approach.