> Currently I think that idea was very bad, given that it would > be difficult to find all ranges which invalidate previous front > value on popFront. It seems, consumeFront() is attempt to implement a forward iterator on top of a range. Maybe the problem is mixing up two different abstractions.