``` objc struct opaque_struct; @interface Foo { struct opaque_struct *p; // will signature to ^{opaque_struct=} } @end @implementation Foo + (Class) class { return( self); } @end // no longer opaque struct opaque_struct { int foo; }; @interface Bar { struct opaque_struct *p; // will signature to ^{opaque_struct=i} } @end @implementation Bar + (Class) class { return( self); } @end ``` ## Thoughts * this is fine (?) * use a category to separate non-opaque knowledge * the @encode for pointers should be opaque in all cases