typedef union my_union {
    int i;
    char c;
} MyUnion;

typedef enum my_enum {
    VAL_A = 0,
    VAL_B = 1
} MyEnum;

typedef union {
    int x;
    int y;
} AnonUnion;

typedef enum {
    E_ONE,
    E_TWO
} AnonEnum;

