exercise 2.29c
exercise 2.32 subsets