Rename call to apply and make apply variadic.

Apply is a better name than call, also we can make apply variadic and
generic but I still need to get the types correct before I can make it
a public function.