anchor.diff:              NewState = State#{next_id => Id + 1, monitors => maps:put(Mon, Id, Mons)},
               {ok, Id, check_max_bench_num(NewState)};
           {error, Reason} ->
  -            {error, Reason}
  +            {error, Reason, State#{next_id => Id + 1}}
       end.
   
   check_max_bench_num(#{max_bench_num:= MaxNum, next_id:= NextId, data_dir:= Dir} = State) ->
  
positive.code:     case start_bench_child(Params, State) of
          {ok, Id, NewState} ->
              {reply, {ok, #{id => Id, status => <<"pending">>}}, NewState};
          {error, Reason} ->
              {reply, {error, Reason}, State}
      end;
  
  handle_call({start_bench, Params}, _From, #{status:= inactive} = State) ->
  
negative.code:             case start_bench_child(Params, State) of
                  {ok, Id, NewState} ->
                      {reply, {ok, #{id => Id, status => <<"pending">>}}, NewState};
                  {error, Reason, NewState} ->
                      {reply, {error, Reason}, NewState}
              end;
          {error, enoent} ->
              {reply, {error, not_found}, State};
  