exercise 2.59 union-set