The pattern
final switch (_index)
{
import std.range: empty, front;
foreach (i, R; Rs)
{
case i:
assert(!source[i].empty);
return source[i].front;
}
}occurring in roundRobin() and now also in my merge at https://github.com/nordlow/justd/blob/master/range_ex.d#L604 is nor pretty nor concise.Is there a better way of indexing a compile time tuple with a run-time index?
It may have to work together with CommonType somehow as is shown in my implementation of merge().
