>>418
コンストラクタもそうだけど、

Foo foo = GetValue(); // Foo GetValue(){}

みたいに、Fooという型が宣言と代入で2回出現して冗長な表現になってるじゃん