Почему программы используют стеки вызовов, если вложенные вызовы функций могут быть встроены?

Почему бы не сделать так, чтобы компилятор взял такую ​​программу: function a(b) { return b^2 }; function c(b) { return a(b) + 5 }; и преобразовать его в программу, подобную этой: function c(b) { return b^2 + 5 }; устраняя тем самым необходимость компьютера помнить обратный адрес c (b)? Я...