Alternatively I would suggest to use a similar mechanism as in `msg_t`:

```C
union {
    unsigned int value;
    void *ptr;
} data;
```