r5672: Use switch_type() and the token storage mechanism for unions: