Set add and remove are template functions with different behaviour for
one element and multiple elements

This improves compatibility with gdc