https://issues.dlang.org/show_bug.cgi?id=13371 --- Comment #8 from hsteoh at quickfur.ath.cx --- auto factorial(T)(T t) { import std.range : drop, recurrence; return recurrence!"a[n-1] * n"(1).drop(t).front; } Happy now? --