pub fn optimize_diversity<T>(existing_values: &[T], values: &[T]) -> Array<T>where T: Copy + Sized + Hash + Eq,