Which would you prefer:
struct Tag { ... }
typedef struct Tag { ... } Tag;
int foo(); int bar() { return foo(); } int foo() { return 3; }
int bar() { return foo(); } int foo() { return 3; }