The libx1f4i0 programming language interpreters operate string data as immutable. There are no multiple references to same string data, except for a special value.
x1f4_c1_empty_string special string value belongs with the C
programming interface. It is a constant empty string (zero long, that is) and
is not to be freed. Variables of the intrinsic string type are initialized
with this value.
When not set as
x1f4_c1_empty_string, string variables point (or should)
to some allocated data, that is not referred otherwise and should be freed once
no longer used. Same applies (or should) to string data referred by data
objects able to store references to other objects (former objects such as list
See List Library.
String data not referred by variables or collections may not be freeable. Such non freeable data may be the return of functions returning string data.
String data (and data of any data type requiring memory / resource management) may need be freed and yet not be variable or collection referred. Data referred by the return of functions returning string data belongs to this data class when it needs be freed (the funtions need to arrange for the eventual release of the allocated memory).
Application code meant to interoperate the libx1f4i0 library code is to observe the string operation conventions. For the sake of application integrity, that is.