anchor.diff:  
   resolve({pre_incr, Var}, State) ->
       VarPath = get_var_path(Var, State),
  -    case search(VarPath, State) of
  +    case search(VarPath, State#state.vars) of
           undefined -> 
  -            {1, State#state{vars = change(VarPath, 1, State)}};
  +            {1, State#state{vars = change(VarPath, 1, State#state.vars)}};
           V when is_number(V) -> 
  -            {V+1, State#state{vars = change(VarPath, V+1, State)}};
  +            {V+1, State#state{vars = change(VarPath, V+1, State#state.vars)}};
           V when is_binary(V) andalso byte_size(V) > 0 ->
               NewVal = try
                   list_to_integer(binary_to_list(V)) + 1
               catch error:badarg ->
                   ephp_util:increment_code(V)
               end,
  -            {NewVal, State#state{vars = change(VarPath, NewVal, State)}};
  +            {NewVal, State#state{vars = change(VarPath, NewVal, State#state.vars)}};
           V -> 
               {V, State}
       end;
   
   resolve({pre_decr, Var}, State) ->
       VarPath = get_var_path(Var, State),
  -    case search(VarPath, State) of
  +    case search(VarPath, State#state.vars) of
           undefined -> 
               {undefined, State};
           V when is_number(V) -> 
  -            {V-1, State#state{vars = change(VarPath, V-1, State)}};
  +            {V-1, State#state{vars = change(VarPath, V-1, State#state.vars)}};
           V -> 
               {V, State}
       end;
   
   resolve({post_incr, Var}, State) ->
       VarPath = get_var_path(Var, State),
  -    case search(VarPath, State) of
  +    case search(VarPath, State#state.vars) of
           undefined -> 
  -            {undefined, State#state{vars = change(VarPath, 1, State)}};
  +            {undefined, State#state{vars = change(VarPath, 1, State#state.vars)}};
           V when is_number(V) -> 
  -            {V, State#state{vars = change(VarPath, V+1, State)}};
  +            {V, State#state{vars = change(VarPath, V+1, State#state.vars)}};
           V when is_binary(V) andalso byte_size(V) > 0 ->
               NewVal = try
                   list_to_integer(binary_to_list(V)) + 1
               catch error:badarg ->
                   ephp_util:increment_code(V)
               end,
  -            {V, State#state{vars = change(VarPath, NewVal, State)}};
  +            {V, State#state{vars = change(VarPath, NewVal, State#state.vars)}};
           V -> 
               {V, State}
       end;
   
   resolve({post_decr, Var}, State) ->
       VarPath = get_var_path(Var, State),
  -    case search(VarPath, State) of
  +    case search(VarPath, State#state.vars) of
           undefined -> 
               {undefined, State};
           V when is_number(V) -> 
  -            {V, State#state{vars = change(VarPath, V-1, State)}};
  +            {V, State#state{vars = change(VarPath, V-1, State#state.vars)}};
           V -> 
               {V, State}
       end;
  
positive.code: 
  handle_cast({set, VarRawPath, Value}, State) ->
      VarPath = get_var_path(VarRawPath, State),
      NewVars = change(VarPath, Value, State),
      {noreply, State#state{vars = NewVars}};
  
  handle_cast({set_tz, TZ}, #state{global=undefined}=State) ->
  
negative.code: resolve(#assign{variable=Var,expression=Expr}, State) ->
      VarPath = get_var_path(Var, State),
      {Value, NState} = resolve(Expr, State),
      NewVars = change(VarPath, Value, NState#state.vars),
      NewState = NState#state{vars = NewVars},
      {Value, NewState};
  
  