iterator_t<Rng> begin() { return get_begin_(); }
detail::counted_cursor<range_iterator_t<Rng>> begin_cursor() { return {get_begin_(), count_}; }
counted_iterator<iterator_t<Rng>> begin() { return make_counted_iterator(get_begin_(), count_); }