Hi John-Reed.
In addition to the other fine responses to your question (ProtoObject is the superclass of Object, et. al), I believe that people also define Proxy objects by subclassing nil (UndefinedObject), rather than Object. Proxy objects are common in systems with large, complex objects that are stored in a database.
Cheers!
---==> Chris