Why is Julia not inferring the output type of f(x,y)=x+y?

https://docs.julialang.org/en/v1/manual/types/#man-typet-type

basically x::T means x is a variable and typeof(x) <: T; but what if the argument x you want to pass is a type to begin with? you need x::Type{T}, which would be matched when x === T