Returns a set containing all distinct elements from both collections.
Set<T> union(Iterable<T> other) { final set = toSet(); set.addAll(other); return set; }