議席数をドント方式で

http://ja.doukaku.org/comment/5085/

コンテナ内にある任意の位置の要素を取り換えたコンテナを作るってどうするのが正しいんだろ?Cの配列なんかは

a[5] = 10;

って代入しちゃえばいいんだけど(対象の配列を破壊していいなら)、Erlangのリストの場合元のリストに直接再代入できないし、「一部だけ差し替えたリストを作る関数」があるわけでもないみたいだし。もっと広い視点からみると、そもそもそんなことしなくていいようなやり方があるのか?