Exercises 2.56 and 2.57
First half of 2.58