Por que usar a atribuição é ruim?

Esta postagem (Avaliação preguiçosa em R - é atribuído afetado?) abrange alguns pontos comuns, mas não tenho a certeza se responde à minha pergunta.

Parei de usarassign quando descobri oapply família um bom tempo atrás, embora, puramente por razões de elegância em situações como esta:

names.foo <- letters
values.foo <- LETTERS
for (i in 1:length(names.foo))
  assign(names.foo[i], paste("This is: ", values.foo[i]))

que pode ser substituído por:

foo <- lapply(X=values.foo, FUN=function (k) paste("This is :", k))
names(foo) <- names.foo

Esta é também a razão disso (http://cran.r-project.org/doc/FAQ/R-FAQ.html#How-can-I-turn-a-string-into-a-variable_003f) R-faq diz que isso deve ser evitado.

Agora eu sei dissoassign geralmente é desaprovado. Mas existem outras razões que eu não sei? Eu suspeito que pode mexer com a avaliação escopo ou preguiçoso, mas não tenho certeza? Exemplo de código que demonstra tais problemas será ótimo.

questionAnswers(3)

yourAnswerToTheQuestion