Hi, I've seen some inconsistency in the C / POSIX types here.
For example, `gid_t` has (almost) all of the headers required by C or POSIX to define the type in the list (BTW, `<signal.h>` is missing):
```
{ symbol: [ "gid_t", private, "<sys/types.h>", public ] },
{ symbol: [ "gid_t", private, "<grp.h>", public ] },
{ symbol: [ "gid_t", private, "<pwd.h>", public ] },
{ symbol: [ "gid_t", private, "<stropts.h>", public ] },
{ symbol: [ "gid_t", private, "<sys/ipc.h>", public ] },
{ symbol: [ "gid_t", private, "<sys/stat.h>", public ] },
{ symbol: [ "gid_t", private, "<unistd.h>", public ] },
```
And then other types only have the minimum headers that define the type, such as `time_t`:
```
{ symbol: [ "time_t", private, "<sys/types.h>", public ] },
{ symbol: [ "time_t", private, "<time.h>", public ] },
```
All of the following shall also define `time_t`:
```
<sched.h>, <sys/msg.h>, <sys/select.h>, <sys/sem.h>, <sys/shm.h>,
<sys/stat.h>, <sys/time.h>, or <utime.h>
```
See <https://man7.org/linux/man-pages/man7/system_data_types.7.html>
What do you prefer for new types, the minimum, or the maximum?