Bagaimana Anda secara aman menolak dalam bahasa dengan ruang lingkup dinamis?

Bagi Anda yang memiliki nasib baik untuk tidak bekerja dalam bahasa dengan ruang lingkup yang dinamis, izinkan saya memberi Anda sedikit penyegaran tentang cara kerjanya. Bayangkan sebuah bahasa semu, yang disebut "RUBELLA", yang berperilaku seperti ini: function foo() { print(x); // not defined...