__thread
__collect_safe
Also, report an error if a string type is misused as an argument (for foreign procedures) or result (for foreign callables) with `__collect_safe`. original commit: cdbfa3d86cb0719bf0979b3fe0aa5c4383282b77