いやまて

typeof(T[0])[] map(T, U)(T ary, U dg){
    typeof(ary[0])[] rary;
    rary.length = ary.length;
    foreach (int i, typeof(ary[0]) t; ary){
        rary[i] = dg(t);
    }
    return rary;
}

これがコンパイル通るという…
これでMyArray的なものでも使えるようになったけど、配列じゃないので使うには矢張り「each(myary, (int i) { return i * i; })」とかになるわけで…微妙だ。
あと昨日の日記に追記し続けるのはどうかと思う。