anchor.diff:          {ok, NewRuns} ->
               NewAtmLaneExecution = AtmLaneExecution#atm_lane_execution{runs = NewRuns},
               {ok, AtmWorkflowExecution#atm_workflow_execution{lanes = lists_utils:replace_at(
  -                NewAtmLaneExecution, LaneIndex, AtmLaneExecutions
  +                NewAtmLaneExecution, AtmLaneIndex, AtmLaneExecutions
               )}};
           {error, _} = Error2 ->
               Error2
       end.
  +
  +
  +-spec get(marker(), atm_workflow_execution:record()) -> record().
  +get(AtmLaneMarker, AtmWorkflowExecution = #atm_workflow_execution{lanes = AtmLaneExecutions}) ->
  +    lists:nth(resolve_index(AtmLaneMarker, AtmWorkflowExecution), AtmLaneExecutions).
   
   
   -spec to_json(record()) -> json_utils:json_map().
  
positive.code: 
  
  %% @private
  -spec update_curr_run(
      undefined | pos_integer(),
      fun((atm_lane_execution:run()) -> {ok, atm_lane_execution:run()} | errors:error()),
      atm_workflow_execution:record()
  ) ->
      {ok, atm_workflow_execution:record()} | errors:error().
  update_curr_run(GivenLaneIndex, UpdateFun, AtmWorkflowExecution) ->
      update_curr_run(GivenLaneIndex, UpdateFun, undefined, AtmWorkflowExecution).
  
  
  -spec update_curr_run(
      undefined | pos_integer(),
      fun((atm_lane_execution:run()) -> {ok, atm_lane_execution:run()} | errors:error()),
      undefined | atm_lane_execution:run(),
      atm_workflow_execution:record()
  ) ->
      {ok, atm_workflow_execution:record()} | errors:error().
  update_curr_run(GivenLaneIndex, Diff, Default, AtmWorkflowExecution = #atm_workflow_execution{
      lanes = AtmLaneExecutions,
      curr_lane_index = CurrLaneIndex,
      curr_run_no = CurrRunNo
  }) ->
      LaneIndex = utils:ensure_defined(GivenLaneIndex, CurrLaneIndex),
      AtmLaneExecution = #atm_lane_execution{runs = Runs} = lists:nth(LaneIndex, AtmLaneExecutions),
  
      UpdateRunsResult = case Runs of
          [#atm_lane_execution_run{run_no = RunNo} = CurrRun | RestRuns] when
  
negative.code:     ?FINISHED_STATUS | ?CANCELLED_STATUS | ?FAILED_STATUS | ?INTERRUPTED_STATUS.
  
  -type run_elements() :: #atm_lane_execution_run_elements{}.
  -type run_diff() :: fun((atm_lane_execution:run()) ->
      {ok, atm_lane_execution:run()} | errors:error()
  ).
  -type run() :: #atm_lane_execution_run{}.
  
  -type record() :: #atm_lane_execution{}.
  
  -export_type([run_elements/0, run_diff/0, run/0]).
  -export_type([status/0, record/0]).
  
  
  %%%===================================================================
  