Protocol<.AssocType == T> shorthand for combined protocol and associated type constraints without naming the constrained type

Opaque types for arguments? How does that work? Clients can't promise to always pass the same concrete type.