anchor.diff:  
   eval_rates(#const_rate{rate_fun = F, value = Prev} = RateState, Done, CurTime, _Time, State) ->
       {Rate, State1} = F(State),
  +    % If rate changes we have to change number of "done" iterations accordingly
       NewDone =
           case {Rate, Prev} of
               {Prev, _} -> Done;
  
positive.code:                 end
              end
          end,
      ArgEvaluator =
          fun (Name, Spec, Default) ->
              case lists:keyfind(Name, #operation.name, Spec) of
  
negative.code: -spec eval([proplists:property()], [script_expr()], worker_state(), worker_env(), module())
      -> {script_value(), worker_state()}.
  eval(LoopSpec, Body, State, Env, WorkerProvider) ->
      % Evaluator returns fun for evaluation of specific expression
      % For example:
      %     F = Evaluator(Expr),
      %     {Res1, State2} = F(State1), % evaluates expression Expr
      %     {Res2, State3} = F(State2)  % evaluates expression Expr again
  
      Evaluator =
          fun (Expr) ->
              fun (S) ->
  