K leo, I think it's mainly a problem of consistency across operators (+ behave like * and .+ behave like .*) and across dimensions (adding a scalar to a vector behave the same as adding a vector to a matrix).
The nice thing with Julia is that you can easily (re) define operators to
do what you want, if you prefer + to work with scalar you can just define:
+{T,K}(a::Array{T,K},x::Number) = a .+ x
And it should work.
