There are some mathematical contexts where you can see degree doing the same thing.
I could parody your explanation:
*(a::Int, b::Int)
and *(a::Matrix, b::Matrix)
which do not do the same thing at all (commutative and noncommutative multiplication). You should use the qualified names Base.*
and LinearAlgebra.*
.
Seeing A*B
in code would be much more confusing rather than LinearAlgebra.*
…
I hope you get my meaning… Anyway the argument “does not do the same thing” is not pertinent. Let’s take another example: the first package is UnivariatePolynomials
, the second one is MultivariatePolynomials
.
Then degree
clearly does the same thing. Next you will come up with an argument that one should not use the two packages together.
I would prefer answers which tackle the problem rather than sidestep it.