An identification string can be valuable when, for example, several Objects have been stored in a file (using astWrite) and are later retrieved (using astRead). Consistent use of the ID attribute allows the retrieved Objects to be identified without depending simply on the order in which they were stored.
This attribute may also be useful during debugging, to distinguish similar Objects when using astShow to display them.
Unlike most other attributes, the value of the ID attribute is not transferred when an Object is copied. Instead, its value is undefined (and therefore defaults to an empty string) in any copy. However, it is retained in any external representation of an Object produced by the astWrite function.