You need a way to differentiate the two 5s, that isn't present. If you had a list like:
L = [(5,foo), (2,bar), (2,baz),...]
And did a: SORT(L, key=first) # or however it'd be specified
Then the duplicate 2s would be fine, because they're no longer duplicates, only duplicate keys. But it would still fail if (2,baz) showed up twice in the source and destination even though we've asked for SORT, not UNIQSORT.More seriously,
> You need a way to differentiate the two 5s
As there's no unique filtering or other reduction going on here, there's a permutation chain from input to output.
In the cases of
one or both of those might be incorrect ?( I'm teasing, perhaps )