Use `function.call` instead of `function.apply`

The former is faster than latter in a lot of cases.
Merge pull request #2292 from tricknotes/use-call-instead-of-apply

Use `function.call` instead of `function.apply`