I find the limitation of non-intersection of conditional conformance reqirements quite limiting. Can it be lifted in case there are no overloaded functions between extensions?<br><div><br></div>protocol A { func foo() }<br><div>protocol B { func bar() }</div><div><br></div><div>extension Array: A where Element: A {</div><div>    func foo() { return self.first!.foo() }</div>}<div><div>extension Array: B where Element: B {</div><div>    func bar() { return self.first!.bar() }</div>}<br></div><div><br></div><div>let arr: Array&lt;T&gt;</div><div>arr.foo()</div><div><br></div><div>What is ambiguous here? When we see arr.foo(), we know it&#39;s from Array: A extension, regardless of T, and we just have to check the requirement of that extension.</div>