1 2 3 4 5 6 7 8 9
struct obj { int tag; union { struct { struct obj * car, * cdr; } cons; struct { char * name; struct obj * plist; } atom; } u; }; struct obj some_obj;