Got a bit of a funky one for you. The extension seems to recognize callables defined with variadic parameters, but it does not supply the type of those parameters past the first:
<?php
/**
* @template T of string[]
* @param array<string, string[]> $others
* @param callable(int, string[] ...): T
* @return T
*/
function dostuff(array $others, callable $cb): array {
return $cb(123, ...$others);
}
dostuff([
['a', 'b'],
['c', 'd']
], function ($num, $one, $two): array {
return array_merge($one, $two);
});


