[1] These selectors for a list of statements are not intended as a data abstraction. They are introduced as mnemonic names for the basic list operations in order to make it easier to understand the explicit-control evaluator in section 5.4.
[2] A parser implementation may decide to represent a block by just its statement sequence if none of the statements of the sequence are declarations, or to represent a sequence with only one statement by just that statement. The language processors in this chapter and in chapter 5 do not depend on these decisions.
[3] In actual JavaScript, there are subtle differences between the two forms; see footnote undefined in chapter 1. Exercise 4.17 addresses these differences.
4.1.2   Representing Components