trickart
うーん、そこは感覚の違いかもですね… そもそも「これimmutableのつもりだったけど全然変える必要があった」ってことが経験があまりなくてそういう作業の面倒くささがピンとこないんですよね… これは最初から設計がうまくいっているという話ではなく、単純に一度作ったものをそんなにいじってないだけだとは思います。 (また非常に大きな構造のstructをいじってないとか) 多くの人もそんな感じだからデメリットを感じられてないのではないか?と感じています。
大きいというイメージは無かったです。仮にプロパティが2つだけの場合でも、initをやり直すよりプロパティを書き換える方が簡潔に済むので、小さくても同じですね。 読者がそういう状況に遭遇してないので共感しづらいのはそうなのかもしれませんね。 個人的にはそれがnominal tupleであることを示唆するヒントとしてもvarにしておくのが良いと思います。