>書き手は代入する意思がないということが明確

というのが仮に正しいとしても、こんな小さな理由で
多くの人の慣用的な書き方と反して、自分のスタイル
を押し通すというのは、無茶なんじゃないかな。

多くの人が読みやすいと思うようなコードって、多くの人が
慣用的に使うロジックをちゃんと使っているコードだと思うのよね。

全然違う例だけど、ふつう次のように書くところを
for (p = top; p != NULL; p = p->next){
}

次のように書くと、
p = top;
while (p) {
/*...*/
p = p->next;
}

「ん?何かこうした理由があるのかな?」と読み手に余計な苦労を強いる。