Is get supposed to evaluate the fallback argument? I was surprised by this:
julia> dict1 = {1=>1} {1=>1} julia> dict2 = Dict() Dict{Any,Any}() julia> get(dict1,1,get!(dict2,1,2)) 1 julia> dict2 {1=>2} The other method is more what I'd have expected julia> get(dict1,1) do ()->get!(dict2,1,2) end 1 julia> dict2 Dict{Any,Any}()