Martin: what particularly would bother me about such model is the energetic style (energetic as opposite of lazy). I.e. in your scenario {x: 200} object is created even before the first function runs. In case there is an error, creation of this object may not be necessary, but it was already created. This is why I mentioned Erlan-style processes, where the code that needs to be executed in response to a signal isn't evaluated until the signal is received.
Best. Oleg