There are two kinds of variables:  method variables and object variables.
Method variables are declared in methods, and are temporary.  They are
created for the execution of the method, and are freed when execution
is complete.  Object variables are permanent, and are used to store
the state of an object (its name, location, etc).  Object variables
are inherited by instances of an object.  Method variables are sometimes
referred to as "local", and object variables as "global".

An object's variables may only be assigned by that object's methods.
The only way to retrieve or modify another object's variables is to
send a message to that object.  For example, the "location" message
says, "give me your location", and the "moveto" message says, "move
yourself to the following location".

Variables may be fixed type, in that they can store one type of
value, or variable, so that they can store any.  Assigning the wrong
type of value to a fixed-type variable raises E_TYPE, a type mismatch.

Variables cannot be initialized in the declaration; this must be
done in a statement.

	str name;

declares a fixed-type string variable called "name".
	num contents;
declares a fixed-type list variable called "contents".

	var a, b;

declares a variables "a" and "b" which may hold values of any type.