Dedup is an operation that keeps order. Should this be added via the Sorted struct? Is additional traits required for collection types?