Creating 1-ZSTs guaranteed to have same extern "C" ABI as ()

To make repr(transparent) work, we need all 1-ZST to have the same ABI, no matter their repr.

Maybe it was a mistake to allow zero-sized arguments / return values in extern "C" functions to begin with...