まずListを使うと最大で2倍のメモリの無駄が発生するよね
アクセスにも常時オーバーヘッドが発生するし
「このプロパティはAddやRemoveをしていいんだ」という誤ったメッセージも伝えてしまう

Foreachメソッドは言語機能であるforeachとできることがまるで変わらない上に性能上のオーバーヘッドが発生するので必要性が皆無だし
言語的にはLINQに統一されているコレクションのアルゴリズムライブラリに
全く命名規則の異なるList独自のアルゴリズムライブラリが実装されていて
混乱をもたらす
すべてが無駄で異質で紛らわしく遅い これがListというわけ