union int_or_float { struct child_int * a_child_int; struct child_float * a_child_float; } an_int_or_float;