I know the Algorithms library is currently not focusing on data structures, but I don't think it's fair to compare this new library with Python's itertools module and the C++ algorithms library. Both Python and C++ support a much wider range of data structures than Swift, which makes it easier to develop focused libraries like that. On the other hand, in Swift you'd have to write your own data structures if you want a performance boost in some operations. There are many performance problems in Swift that you currently can't solve solely with what the Standard Library provides, which is not the case for Python/C++.
In any way, If we don't want to add data structures themselves, how does the Core team feel adding about some of them as Collection algorithms?
My main example and suggestion with this are Priority Queues, which is available in Python as heapq as in C++ as priority_queue. Because Swift lacks it, I would say most people's first instinct when trying to pick the first X elements in a sorted list would be to do something like this, which is very inefficient compared to a priority queue:
[5,3,7,4,7,3,8,9,2].sorted(by: <).prefix(3) // [2,3,4]
If we don't want to add the full data structure, what would the Core team think about abstracting it as a function?
[5,3,7,4,7,3,8,9,2].prefix(3, whenSortedBy: <) // [2,3,4]
Would this fall under an algorithm that has more pragmatic alternatives?