Support mixed-precision union

... for the hyper_binary default backend only, sorry ;-)

Feedback welcome!