> void popFront() { foreach (ref r; rr) r.popFront(); } I think it should be void popFront() { foreach (ref r; rr.save) r.popFront(); } > but I think OP wanted a ready-made phobos solution, w/o all the > range boilerplate... exactly.