type 'union U' changed was only declared, is now fully defined