numpy.unique behaves as I would expect for small inputs like the following:

In [12]: x= [0, 0, 1, 0, 1, 2, 0, 1, 2, 3]

In [13]: unique(x, return_index=True)
Out[13]: (array([0, 1, 2, 3]), array([0, 2, 5, 9], dtype=int64))

But, when I give it something larger, the return index values do not always correspond to the first occurrences in the input. The documentation is silent on the question of how the return index values are chosen when a given element of x appears more than once. Either the documentation should be
clarified, or better yet, the behavior should be changed.