Verdade, esqueci do objeto. Como você fez um type cast do array transformando-o em objeto, ele vai ser do tipo stdClass, então dá pra tipar também.

function listInLine(stdClass|array $list): string {
    // força a ser array
    $list = (array) $list;
    return is_null($list) ? '' : implode(', ', $list). '.';
}

Uau! Agora minha sonhada função (acredito que vou preferir usá-la como uma class) está completa. Valeu de coração Sivestrini.