@airtower @mcc @megmac There was kind of a religious war about this, with different people arguing that either all header files should be self-contained or that no header file should include any other (user-visible) header file, because namespace pollution. POSIX adopted the former, but also introduced a lot of new typedefs which meant that anyone doing anything nontrivial had to follow suit (because C doesn't have incomplete typedefs) even if most clients would never use them.