introduce local var env
pop all update markers in a loop
only mark and update env which are not garbage collected
add comments on call-by-need optimization
add reference to TR581