constexpr reference operator*() const;
Iterator tmp = current; return *--tmp;
constexpr pointer operator->() const requires (is_pointer_v<Iterator> || requires (const Iterator i) { i.operator->(); });
constexpr unspecified operator[](difference_type n) const;