Thanks, everyone, for the comments. This was an interesting design.
In this design note: https://github.com/xtuml/bridgepoint/blob/master/doc-bridgepoint/notes/589_stringtest/589_returnstring.dnt.md
…you will read that we ended up going with the by-ref parameter design. Even though some may see the “xtuml_string” return design more natural, ANSI C and gcc are simply not quite ready for it.