Có, function call (bất kỳ function, không chỉ đệ quy) tạo namespace mới. NHƯNG, khi truyền parameter, OBJECTS pass by reference.
Namespace mới nhận copy reference này nhưng vẫn trỏ cùng object caller, nếu thay đổi nội dung object, caller thấy thay đổi.
Cụ thể: Interpreter gặp function call, tạo frame object, push vào frame stack. Mỗi frame tạo, có private namespace riêng, variables re-defined.