The primary associated types will only be used internally, but they must still go through the Swift Evolution process. They were also pitched in a previous proposal, but unfortunately I'm responsible for dissuading the author.
The motivation here is to remove four internal classes (one thousand lines of boilerplate code) from the standard library. I don't know if there are any advantages (or disadvantages) to clients of the public APIs.