We should have a single implementation of extract a Str from a received c-string, rather than having duplicate marshaling logic everywhere.