I recently came across a colleague\'s code that looked like this:
typedef struct A { int x; }A; typedef struct B { A a; int d; }B; void fn(){ B *b;
Perhaps you can consider using macros to implement this feature, the need to reuse the function or field into the macro.