Why is that better than just getting `sizeof(* foo)`? Even with typedef, I can see this happening in the future:
typedef int thing_t;
...
thing_t *foo_internal;
thing_wrapper_t *foo;
// code
foo = malloc(sizeof(thing_t));
If you do:
foo = malloc(sizeof(*foo));
That's at least always on the same line.