例えばO'Camlでは、テーブル等の構築中はmutableで、構築が終ったらmutableを外すといったことができません。抽象型にしてアクセサを用意すればいいのですが、パターンマッチが使えなくなるので微妙です。
というわけでD言語の推移的constは素晴しいと思います。
で、推移的constがあればアクセサは取っ払って直拙アクセスで問題なくなるのですが、やはりアクセサを使いたいときもあります。で、アクセサでも推移的constが使いたくなると思います。C++のように大量のオーバーロードを作るのは嫌なので、ひとつのアクセサでconstと非constの両方をカバーできるのが理想です。
constと非constの両方・・・そうか.