this should be:

```
if (listener.length > 1) {
  oldArray =  slice(oldValue, 0);
}
```

or something along those lines. the important bit is listener.length - we don't want to compute this value if the listener is not asking for it. (we'll break the listener if it uses the `arguments` object to get hold of args, but I think it's a fair trade-off for hot code like this.