package genutils func SliceWithUniques[T comparable](slice []T, elemsToAdd []T) []T { newSlice := slice[:len(slice):len(slice)] addLoop: for _, elem := range elemsToAdd { for _, existing := range slice { if existing == elem { continue addLoop } } newSlice = append(newSlice, elem) } return newSlice } func SliceWithout[T comparable](originals []T, elemsToRemove []T) []T { return Retain(originals, func(v T) bool { return !Contains(elemsToRemove, v) }) }