The very act of identifying an object splits the world into
the-object and not-the-object (environment, context, etc.).
Ideas like interfaces and
types and classification have to do with the interaction between
object and not-object. That's why you have
ContextSensitiveSubtyping,
and why you need
ObservationEquivalence.
--
AamodSane