On 7/9/12 4:47 PM, Mehrdad wrote: > I mean like, why isn't it defined this way instead? > > void transform(alias f, RI, RO)(RI r, RO output) > if(isInputRange!RI && isOutputRange!RO) > { > for(; !r.empty; r.popFront()) > output.put(unaryFun!f(r.front)); > } Instead of what? There is not transform() function in std.algorithm. Andrei