**@yglukhov** I have to say, that I do agree with your pull request. a nil
string should be NULL when converted to a cstring. I think the problem here is,
that values of type string can be of no string at all (nil), and functions can
be implemented that nil is a totally valid argument. I think for those
functions c functions that support this behaviour, there should be the least
amount of surprises (nil to NULL/nullptr conversion). Hopefully at some point
in time strings are not nil but empty by default, but that is another issue on
its own.
**@Ward** the string is internally a pointer to something like this `struct
NimString{ size_t length; char data[length]; };`. The cstring conversion
currently just returns a pointer to data.