8E. the complex type (STRING/LIST)
- STRINGs. Similar to arrays, but different in the respect that they may
  only be changed by using E string functions, and that they contain
  length and maxlength information, so string functions may alter them in a
  safe fashion, i.e: the string can never grow bigger than the memory
  area it is in. Definition:

  DEF s[80]:STRING

  The STRING datatype (called an estring) is backwards compatible with
  PTR TO CHAR and of course ARRAY OF CHAR, but not the other way around.
  (see  9B  on string functions for more details).

- LISTs. These may be interpreted as a mix between a STRING and an ARRAY
  OF LONG. I.e: this data structure holds a list of LONG variables which may
  be extended and shortened like STRINGs. Definition:

  DEF x[100]:LIST

  A powerful addition to this datatype is that it also has a 'constant'
  equivalent [], like STRINGs have ''. LIST is backward compatible with
  PTR TO LONG and of course ARRAY OF LONG, but not the other way around.
  (see  9C  and 2G) for more on this.