С предубеждениями надо бороться. А ручное преобразование типов - источник потенциальных ошибок. Я же не предлагаю в union класть в одно поле, а вынимать из другого. Что положили - то и достали. А компилятор пусть делает контроль типов и выбор размерностей.