Refactor out the analysis pass in tree-shake
Add docs of the whole-ast structure & helpers
Add pass clobbering annotations
Add functions over Whole-ASTs
Dunno why that last patch dropped my UTF8 chars
Patch to ensure #{} in record-pass