It's considered horrendous practice to typedef to a pointer of something. Not sure why this can be considered easy.
If I see a declaration like "Foobar baz;" I don't know which of "baz.boo", "baz->boo" or "baz[x]" are syntactically valid at a glance.
Dunno if that's a huge deal but it's all I came up with.