Would it be a bad idea to add a read primitive to ranges for streaming? ---- struct ReadRange(T){ size_t read(T[] buffer); //and | or T[] read(size_t request); /+ empty,front,popFront,etc +/ } ----