Sweeten your JavaScript: hygienic macros for ES5. - Tim Disney; Nathan Faubion; David Herman; Cormac Flanagan (DLS, 2014)