Yes, that is true. In my application I need to make arrays of small unions of Float64-like primitive types respond to floating point math functions just as arrays of Float64s do. So I know the result types for each group of functions I “delegate”.
That workaround looks very helpful. Is there a way to use it with a specialized Broadcast Style and broadcast_similar
so that a client app could write squares = square.(testvec1)
and generally res = mathfunction.(testvec1)
?