Awesome article except for your bias against arrow functions.
Although I agree with your premise, I disagree with your tone. It’s almost as if you’re saying arrow functions can only be anonymous functions.
The true difference, which you deemphasized, is that arrow functions bind this to the function. Non-arrow functions can also be anonymous functions. So the main difference is this, do you want to bind this to your function?
I feel you’ve greatly reduced the benefits of arrow functions because of your biases. Green developers need to have an unbiased view so they don’t grow up thinking arrow functions are bad. In my point, they’re just different (and use less characters).
Other than that… really good article. Please consider revising the part about arrow functions. :)