2 Checks for items declared after some statement in a block.
5 Items live for the entire scope they are declared
6 in. But statements are processed in order. This might cause confusion as
7 it's hard to figure out which item is meant in a statement.
16 foo(); // prints "foo"
20 foo(); // prints "foo"
34 foo(); // prints "foo"
35 foo(); // prints "foo"