Store "volatile" context properties in temporary variables.

In complicated expressions that contain multiple yield sub-expressions,
like the ones reported in #26 and #28, the values of context properties
like context.sent can get overwritten, so for safety's sake we should
store those values in temporary variables.