Usando “…” e “replicar”

Na documentação desapply ereplicate há um aviso sobre o uso de...

Agora, posso aceitá-lo como tal, mas gostaria de entender o que está por trás disso. Então, eu criei este pequeno exemplo artificial:

innerfunction<-function(x, extrapar1=0, extrapar2=extrapar1)
{
    cat("x:", x, ", xp1:", extrapar1, ", xp2:", extrapar2, "\n")
}

middlefunction<-function(x,...)
{
    innerfunction(x,...)
}

outerfunction<-function(x, ...)
{
    cat("Run middle function:\n")
    replicate(2, middlefunction(x,...))
    cat("Run inner function:\n")
    replicate(2, innerfunction(x,...))
}

outerfunction(1,2,3)
outerfunction(1,extrapar1=2,3)
outerfunction(1,extrapar1=2,extrapar2=3)

Talvez eu tenha feito algo óbvio terrivelmente errado, mas acho o resultado disso bastante perturbador. Alguém pode me explicar por que, em todas as chamadas acima paraouterfunction, Recebo esta saída:

Run middle function:
x: 1 , xp1: 0 , xp2: 0 
x: 1 , xp1: 0 , xp2: 0 
Run inner function:
x: 1 , xp1: 0 , xp2: 0 
x: 1 , xp1: 0 , xp2: 0

Como eu disse: os documentos parecem avisar sobre isso, mas não vejo por que isso acontec

questionAnswers(4)

yourAnswerToTheQuestion