Chapter 5 / 13 : output parameter.
Chapter 5 / 13 : reordered tests.
Chapter 5 / 15

(chapter 5 /14 contains no significant changes).
Chapter 5 / 15 refactor shared_ptr.
Chapter 5 / 15 ...or like this.