Julia 메서드 두 개가 있어요. f(x::Integer, y::Number)와 f(x::Number, y::Integer)예요. 정수인 인자가 어느 쪽이냐에 따라 각각 다른 알고리즘을 써요. f(2, 3.0)은 첫 번째로, f(2.0, 3)은 두 번째로 가요. 여기까지는 문제없어요.
이제 그 실수 인자를 정수로 바꿔 볼까요? f(2, 3)은 둘 다에 맞고, 두 위치 모두에서 더 구체적인 시그니처가 없으니 Julia는 추측하지 않고 모호성 오류를 내요. 그럴 만하죠.
매뉴얼이 권하는 해법은 교집합을 맡는 세 번째 메서드 f(x::Integer, y::Integer)예요. 추가하면 오류는 사라져요. 그런데 답이 무엇이어야 하는지는 알려 주지 않아요. 정수 쌍은 그 자체로 별개의 수학적 경우일까요, 아니면 두 알고리즘 중 하나를 일부러 빌려 써야 할까요? 모호성 오류는 오히려 쉬운 부분이었어요. 원래 두 메서드는 이걸 정할 필요가 없었는데, 이제는 누군가 정해야 해요.