FYI, when compiled with Babel 5's loose mode, the transpiled code is roughly similar to what you'd hand-write:
https://babeljs.io/repl/#?experimental=true&evaluate=true&lo...
I didn't test the performance impact though. Also it's still a mystery to me how to enable Loose mode in Babel 6.