fix non-lazy calls not executed before `first` & `last`

Same bug as before, but with `first` & `last` scenario:

```
_([1, 2, 3]).map().xor([4]).last(); // returns '3', while it should '4'
```