m>Values</em> are abstract entities upon which operations may be
    performed, <em>types</em> classify values according to the
    operations that may be performed on them, and <em>objects</em> are
    the concrete instances of values that are operated upon.  Two
    objects are <em>equal</em> if they are instances of the same
    value. A <em>variable</em> of type <em>t</em> is a concrete
    instance of an abstract entity that can <em>refer to</em> (or
    <em>contain</em>) an object that is an instance 