Implement ch3.5.2's examples (in progress)