chaijs/chai — pull request #128 by RubenVerborgh (2013-01-13 16:21:06+00:00)
Title: Determine beforehand which properties to exclude

`addChainableMethod` checks every time if a method belongs to `Function.prototype`.
In this patch, the list of prohibited methods is generated only once.

The following performance test takes 19.4s with the patch instead of 22.6s without:
```JavaScript
for (var i = 0; i < 100000; i++)
'x'.should.be.a('string');
```
That's still a lot, but this patch nonetheless helps the performance issue #127.