One aspect seems pretty clear to me: it's much easier to learn how to communicate effectively as a team than it is to massively broaden your collective knowledge and experience.
So, given a sound team culture and environment—great regardless of the style of team you have!—you can start with a diverse team and then collectively improve team cohesion and communication. You need some baseline level of effective leadership to do this, but it's absolutely doable, and I've seen it done.
>One aspect seems pretty clear to me: it's much easier to learn how to communicate effectively as a team than it is to massively broaden your collective knowledge and experience.
But what fraction of that massively broader knowledge and experience is actually relevant to what the team works on? I think it will vary. It could be fairly high for UI design (as another commenter suggested), but low for, say, optimising backend APIs.
And do you really think it's easy to fix deep-seated communication issues? Do you think you could take someone from an Ask culture, and in a couple of weeks they'd be a happy, high-performing member of a Guess culture team (or vice versa)?
So, given a sound team culture and environment—great regardless of the style of team you have!—you can start with a diverse team and then collectively improve team cohesion and communication. You need some baseline level of effective leadership to do this, but it's absolutely doable, and I've seen it done.