What about redistribution of documentation?
What about redistribution of the product of macros/meta programming? Redistribution of the assembler output?
Thought experiment: I publish a library in which the .c file is released as public domain but the .h file (which has no function definitions, `static` or otherwise, and had no function-like macros) is released as BSD-2.
The header file will essentially disappear during compilation. You cannot make a .o out of such a header; there is no binary format of it.
Is the resulting binary covered by the BSD license?