Firstly because of this issue I raised: https://github.com/eslint/eslint/issues/662

Secondly I don't think it makes much difference to a stack trace unless its a prototype you are setting the function expression to (tested in chrome tools):

```
var shoe2 = function () {
  shoe();
};

var shoe3 = function () {
  shoe2();
};

shoe3();
```

I see a stack of:
```
"ReferenceError: thing is not defined
    at shoe2 (<anonymous>:3:1)
    at shoe3 (<anonymous>:3:1)
    at <anonymous>:2:1
    at Object.InjectedScript._evaluateOn (<anonymous>:603:39)
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:562:52)
    at Object.InjectedScript.evaluate (<anonymous>:481:21)"
```


That being said, I do the same out of habit, I was just trying to pass the tests.

I will try and get the ESLint issue resolved and put the code back, as I agree its much neater.