the naive version would look like ```d auto next(Range)(Range r) { r.popFront; return r.front; } ```
But looking at a mature library e.g. https://github.com/submada/btl/blob/9cc599fd8495215d346ccd62d6e9f1f7ac140937/source/btl/vector/package.d#L229 is looks like there should be tons of annotations/attributes on it.
Kind regards, Christian