Hello. Need some help from the ObjC pros. id generalData; SpecificA *spec1 = [SpecificA new]; SpecificB *spec2 = [SpecificB new]; generalData = spec1; ... generalData = spec2; ... QUESTION: Why is it not id *generalData; missing the dereferencing operator *??? Aren't all objects in ObjC really just pointers to struts? And therefore, the id "superclass" type should have generalData declared as a pointer, no? Thanks, Quite Confused.