I think this will miss the (admittedly crazy) edge case where someone passes in `labels = ['Group A', 'Group B', None, 'Group D']`, for example.

I'm willing to accept that that would the user's problem and not ours.