put(R, E) -> putNext(R, E) Rationale: conveys the notion that there is progress in the output.
Can we have E getNext(R) also for completeness :) Then an input range can be defined similarly to an output range (where delegates and ranges that support E get() work).
Since put/putNext already establishes the notion of throwing when full, having getNext throwing when empty would be OK, no?
-Steve
