var collection: ??? = [] for foo in foos { collection = collection.appended(foo) }
みたいなのができない。???
の部分がループ回るごとに変わる。collection
の型をシャドーイングで上書きしていく。 (edited)HeterogeneousSequence
プロトコルとかを導入して、それに適合した型が for
に渡された場合はコンパイラがアンロールっていう挙動に改造すればいけると思うんよね。
(edited)