Some types (e.g., unresolvedTarget) and some methods (e.g., -referenceByUpdatingTarget…) change their behavior based on whether the receiver is a direct or symbolic reference.
We should clearly represent the differences in the type system, using an abstract GTReference superclass for the commonalities.
Some types (e.g.,
unresolvedTarget) and some methods (e.g.,-referenceByUpdatingTarget…) change their behavior based on whether the receiver is a direct or symbolic reference.We should clearly represent the differences in the type system, using an abstract
GTReferencesuperclass for the commonalities.