I think it works just fine for anything but `cstring` or `char` which is underspecified in C and so we generate casts to force unsignedness.
- CPP interop, passing argument by reference (char*& and int&... Charles
- CPP interop, passing argument by reference (char*& and in... Charles
- CPP interop, passing argument by reference (char*& an... Araq