Because (a) the type checker does not yet have the concept of a tuple type and (b) a method with an array literal is rare. When using .call, which determines which argument is assigned, which parameter slot is trivial.
If the type system extends the type of a tuple, it makes sense to put more effort into checking .apply, because the types and length of the array slot are better known.
source share