See this reflector discussion for background.
[iterator.requirements] attempts to establish requirements for iterators, but [iterator.traits]/1 establishes further requirements that must be met in order to author a portable iterator that works with existing implementations. Failing to meet the requirements of the latter will fail to work in practice. The former requirements should reference the latter, normatively.