first step in ability to "playback" previous eval
first step in ability to "playback" previous eval

we want to be able to evaluate assignments and "remember"
the values that we computed, in case they turn out to be
based on calls to non-pure functions and we need to evaluate
the assignments more than once (because some parts of the
expansion are done by trial and error).  This allows us
to fall back to an earlier state in the evaluation if
a transformation fails and we need to try another, without
evaluating things more than once.

BBN-Q/pyqgl2,BBN-Q/pyqgl2