Exercise 6.6.4 solution