Exercises 5.23 - 5.29

5.29b is incomplete.