Proposed resolution:
Add to 6.3.4.3p2 (and 6.3.4.5p2):
2 ... The iterator and const_iterator types are both const
constant iterator types.
It is unspecified whether they are the same type.
Add a new subsection to 17.4.4 [lib.conforming]:
An implementation shall not supply an overloaded function signature specified in any library clause if such a signature would be inherently ambiguous during overload resolution due to two library types referring to the same type.
[Note: For example, this occurs when a container's iterator and const_iterator types are the same. -- end note]