The core difference is about who holds responsibility for the reference during a function call:
1. Python-to-Python Calls (Reference Move)
When Python code calls a Python function through the bytecode interpreter:
- The caller's evaluation stack transfers ownership of the argument references to the callee