Binary file and memory APIs use native pointers with explicit lengths. load-file-data returns a native allocation; load-file-data-bytes copies the exact byte count and releases it.
Allocating text APIs expose -raw words for native ownership. Their existing string-returning conveniences copy and release the native text automatically, even if decoding fails.
TextReplace, TextReplaceBetween, TextInsert, GetTextBetween, TextJoin, TextTo* and TextSplit use static storage in Raylib 6.0. Their copied Factor strings require no native release; do not free static Raylib pointers. LoadTextLines is different: release its original char** and count together with unload-text-lines.
Native file-loader callbacks must return mem-alloc-compatible foreign storage because Raylib's unloaders release their results. Factor-managed strings and byte arrays cannot transfer ownership to C.https://github.com/raysan5/raylib/blob/6.0/src/raylib.h