I think it's because the C function frees the existing result pointer. I'll double-check though. We could do the work ourselves instead of calling the conversion function if we want avoid mutating the result.