I recently witnessed the absurdity of arrow functions NOT returning implicitly if you put the function body in {}. It's a shit show.
`(text) => ({ label: text })`
In my opinion the arrow function has great syntax. Rest assured, no matter what the syntax was chosen to be, there would be an extremely vocal group of people who hate it (such as yourself).
[1, 2, 3, 4].map(x => x + 1)
You should probably avoid using them for other applications, particularly if you're using a library that uses prototypes because it won't work.
[1, 2, 3, 4].map(function (x) { return x + 1; })