Lots and lots and lots of allocations could be prevented by switching to Small String Optimization for declarations, generated wire names, etc etc.