Add DistinctBy extension