Generate opaque structs instead of empty ones as placeholders