Por que Replace e ReplaceAll fornecem resultados diferentes, mesmo quando apenas uma regra e uma expressão são usadas?

Talvez alguém possa me explicar por queReplace dá uma resposta diferente deReplaceAll, mesmo usando uma regra e, penso, tenho uma expressã

De acordo com a documentação:

ReplaceAll looks at each part of expr, tries all the rules on it, and then goes on to 
the next part of expr. The first rule that applies to a particular part is used; no 
further rules are tried on that part, or on any of its subparts

e para Substituir

A list of rules can be given. The rules are tried in order. The result of the first 
one that applies is returned. If none of the rules apply, the original expr is 
returned.

Tenho esta expressão:

z/(0.5 -1.4 z+z^2)

e esta regra

z -> Exp[I*w]

A seguinte entrada

Clear[z]
hz = z/(0.5 - 1.4 z + z^2);
Replace[hz, z -> Exp[I*w]]
ReplaceAll[hz, z -> Exp[I*w]]

gera este resultado:

z/(0.5 -1.4 z+z^2)                    (*from Replace*)
E^(I w)/(0.5 -1.4 E^(I w)+E^(2 I w))  (*from ReplaceAll*)

Então,ReplaceAll fez o trabalho que eu esperava, mas nãoReplace. A única coisa que acho que estou perdendo aqui é o que faz das partes uma expressão. Então, talvez hz não seja a expressão "um"? Ok, tudo bem, mas deveria ter sido capaz de aplicar a regra pelo menos a uma parte dela. Mas não fez nenhuma substituição em nenhum lugar

FullForm[hz]
Times[z,Power[Plus[0.5`,Times[-1.4`,z],Power[z,2]],-1]]

Não é uma expressão hz? Caso contrário, quantas partes possui? É o número de folhas no final do gráfico gerado porTreeForm[hz]? Nesse caso, vejo 3 'z' lá eReplace[] deveria então ter substituído um deles

Eu sempre usei/. sem pensar nisso, que é o mesmo queReplaceAll, mas agora eu useiReplace[] pensar é o mesmo que/., Eu encontrei isso e notei as diferentes funções. (tantas funções para aprender, tão pouco tempo:)

questionAnswers(2)

yourAnswerToTheQuestion