why different order of the parameters compared to `apply`?