I can't understand the examples given in section 8.2: ``` // bad [1, 2, 3].map((number) => `A string containing the ${number}.`); // good [1, 2, 3].map((number) => `A string containing the ${number + 1}.`); ``` Why is the first bad, and the second good? Neither have side-effects, so surely both are good?