There is a bit of a conflict between elementwise operations and broadcast 
(both rely on promote_op). There has been issues on the past where people 
wanted things like

1 .+ Number[1, 2, 3] == Number[2, 3, 4]

to work. The current behaviour is consistent with this, which is, if you 
start with a non-concrete container type, it tries to preserve the general 
container type. This works, except for Any. For Any it builds the array 
using the types of each value. The option to have more consistency would be 
to have different promotions mechanisms for broadcast and elementwise unary 
and binary operations.

Reply via email to