言語の肥大化の証拠と考える方もいらっしゃるようです。これらそれぞれを標準ライブラリの型として実装しなかったのでしょうか?まず一般的な観点から幾つか理由をあげます:どれも非常によく使われています。使い勝手の改善は実現するだけの価値があります。適切なエラーメッセージを出すことが可能になります。実装の内部詳細にもとづいたなんだかよくわからないメッセージになる傾向があります。新しいトークンを導入できません。実装の処理でコンパイル時間を消費する傾向にあります。結果、全体のコンパイル速度が低下します。ライブラリ実装はエンドユーザに柔軟性を提供するとされています。言語組み込みの機能と同じ程度の柔軟さになってしまうのです。既存の言語へのスムーズな統合が望まれる問題点を多く残しています。荒削りな構造や扱いにくい文法、奇妙な例外事例等々。組み込みの配列があります。使い勝手はよくありません。組み込み配列の様々な短所をそれぞれでカバーするようになりました。そのような拡張配列型には、次のようなものがあります:basic_stringvectorvalarraydequeslice_arraygslice_arraymask_arrayindirect_array組み込みの配列を改善することによって、これら変種の必要性は消えて無くなります。ある配列を別の種類の配列として使いたい時の問題もなくなります。通常、型を組み込みとすると、シンタックスシュガーを用意できるようになります。配列リテラルがありますし、次に配列操作のために用意された演算子があります。既存の演算子をオーバーロードして使わなければなりません。a[i]、これはC++と共通です。起因する問題が解決されます。