rlmesh_value_free
Core Value, Metadata and InfoDict. Handles are immutable; clones share. A dict preserves insertion order, replacing duplicate keys in place. Composite constructors retain children: callers still free their handles. Borrowed reads live as long as the value. Missing keys/indices succeed with NULL (or RLMeshStr {NULL, 0}); a present empty string has non-NULL data. A read of the wrong kind returns RLMESH_ERR_TYPE.
void rlmesh_value_free(RLMeshValue* value)