fix derived types in union situations (where list is returned)