Because writing:
var self = this;
foo(function(x) {
return x + self.y;
});
rather than: foo(x => x + this.y)
is so much less error-prone?