Mengapa program menggunakan tumpukan panggilan, jika panggilan fungsi bersarang dapat diuraikan?

Mengapa tidak meminta kompiler mengambil program seperti ini: function a(b) { return b^2 }; function c(b) { return a(b) + 5 }; dan mengubahnya menjadi program seperti ini: function c(b) { return b^2 + 5 }; dengan demikian menghilangkan kebutuhan komputer untuk mengingat alamat pengirim c...