Why does
foo{T<:Number}(x::T) = 1
foo(x::Number) = 2
println(foo(3))
result in
1
?Is there any difference between the first method definition and the second? Does the first method completely shadow the second? When would I want to use one definition over the other?
