Maybe this call doesn't really make much sense to do like this (what are the assumptions of the arguments into ApplyX?), but just something I saw:
julia> ApplyVector(*, 1.0, [1, 2])
(Float64) * (2-element Vector{Int64}):
1.0
#undef
julia> ApplyArray(*, 1.0, [1, 2])
(Float64) * (2-element Vector{Int64}):
1.0
#undef