Итоги голосования для комментария:
Finitumus
Ситуации бывают разные. Поэтому полезно бывает иметь две функции, одна из которых выдаёт результаты «с повторами», а другая «без повторов». И смотреть, в каком случае что правильно.