I'd prefer only one underscore, to avoid the `__` prefix mangling. Ditto for the `__has_*` variables.