Revert "Revert "Re-adding set class to ast so naming can be retained.""

This reverts commit e89c75530a404090af48a02c2d406888f8e7ad52.
Revert "Revert "Re-adding set class to ast so naming can be retained.""

This reverts commit e89c75530a404090af48a02c2d406888f8e7ad52. (reverse-merged from commit 18105146756b5fe4243e755306e7071b6754967c)