A cell represents a memory location that stores a value. The cell abstracts
away the details of how the value is stored. For example, an AssignedCell
stores a simple value, whereas a LazyCell only calculates the value when
it is first needed.
Whether or not the cell value has been evaluated yet.
Whether or not the cell value has been evaluated yet. Sometimes it is useful
to know this to avoid unnecessarily evaluating the cell value.
The value in the cell.
The value in the cell. Calling this method may force the value to be evaluated.