public struct Box { public let value: T } public protocol P { associatedtype A associatedtype B } public struct Bar { public let a: T.A public let b: T.B public let c: (T.A, T.B) }