Ambiguity when a method signature with a default-value parameter matches another method signature?

I agree with you. The compiler shouldn't just pick one arbitrary. It should be a compile error so you either change the function name or explicitly disambiguate.

Too bad Swift willingly let you write incorrect code.