This revision made the proposal even better!
The draft PR for adopting these in the stdlib has become considerably simpler in this update.
(Incidentally, I just started a pitch thread to figure out which associated types we'll want to mark as primary in the stdlib.)