this is part of my cleanup work.

Idea: if a struct is typedefed name the struct *without* `_t` and the typedefed object *with* `_t` to avoid conflicts and confusion (and I think this is a clean approach)