Why does substitute API in Symbolic.jl returns a tuple instead of a number?

Do you really need broadcast? If not:

julia> using Symbolics

julia> @variables x
1-element Vector{Num}:
 x

julia> expr = x
x

julia> answer = substitute(expr, Dict(x => 7))
7