And the trailing underscore is quite unnecessary: struct names are a different namespace from type names.
```
typedef struct blah { int field; } blah;
```
is perfectly valid, using the same name for both the struct and the type.