+Associatedtypes could be allowed to carry generic parameters. + +Swift +protocol Wrapper { + associatedtype Wrapped<T> + + func wrap<T>(_ t: T) -> Wrapped<T> +} + +Generic associatedtypes would support all constraints supported by the language including where clauses. + +Note: generic associatedtypes address many use cases also addressed by [higher-kinded types](#higher-kinded-types) but with lower implementation complexity.
(edited)