Template:cpp/container/assoc note

The member types and  may be aliases to the same type. This means defining a pair of function overloads using the two types as parameter types may violate the One Definition Rule. Since is convertible to, a single function with a  as parameter type will work instead.