It's a macro, it's supposed to look ugly.
Do you really want to waste `sizeof (int)` bytes per thread because you perceive it as less ugly?
I really like the `container_of` pattern as an opposite of `->`.