oceani: introduce List an ExpressionList as early as possible.
ExpressionList is currently used before it is introduced - bad.
List is infrastructure rather than a particular entity, so introduce it
with the other infrastructure, and then introduce ExpressionList where
Expression and Term are first mentioned.
Also move the printing of a List - which is only used for the "print"
statement - into the code for "print".