<p>Many projects use tools like Babel to gain access to forward looking ECMA specs, but few projects really embrace the best of what ES6/7 has to offer. Features like destructuring, argument defaults, arrow functions, async functions, const, and generators, all have the potential to simplify your logic, reduce LOC, enable you to better manage side-effects, and squash the uncertainty that can so easily result in bugs later on.</p>