This request is a little bit different than generalized supertype constraints as it introduces the ability to abstract over protocols. Generalized supertype constraints do not let you abstract over anything new. I would really love to see them happen and hope @Douglas_Gregor finds a way to sneak them into Swift 5 . I have bumped into this limitation in the generic system very often.
A generalized supertype constraint is just a new way of constraining an associated type or generic parameter. This constraint requires an argument to be a subtype of the type bound that is bound to the constraining type variable (associated type or other generic parameter).
associatedprotocol pitch is a subset of something more general: an
associatedconstraint which would need to be paired with
constraintalias. This is an extremely powerful feature I would really love to see someday. It is related to the Constraint Kinds extension in Haskell.
I have thought about starting a pitch thread but it seems wildly out of scope at the moment so I haven't yet. @Joe_Groff would a discussion on this topic be useful right now?