anchor.diff:  delete_execution_elements(#execution_elements{
       lambda_snapshot_registry = AtmLambdaSnapshotRegistry
   } = ExecutionElements) when AtmLambdaSnapshotRegistry /= undefined ->
  -    lists:foreach(fun atm_lambda_snapshot:delete/1, maps:values(AtmLambdaSnapshotRegistry)),
  +    catch delete_lambda_snapshots(AtmLambdaSnapshotRegistry),
   
       delete_execution_elements(ExecutionElements#execution_elements{
           lambda_snapshot_registry = undefined
  
positive.code: %%%-------------------------------------------------------------------
  %%% @doc
  %%% This module handles creation of all documents associated with automation
  %%% workflow (e.g. task execution docs, store docs, etc.). If creation of any
  %%% element fails then ones created before are deleted.
  %%% @end
  %%%-------------------------------------------------------------------
  -module(atm_workflow_execution_factory).
  
negative.code: } = ExecutionElements) when AtmStoreRegistry /= undefined ->
      catch atm_store_api:delete_all(maps:values(AtmStoreRegistry)),
  
      delete_execution_elements(ExecutionElements#execution_elements{store_registry = undefined});
  
  delete_execution_elements(#execution_elements{
      lanes = AtmLaneExecutions
  } = ExecutionElements) when AtmLaneExecutions /= undefined ->
      catch atm_lane_execution:delete_all(AtmLaneExecutions),
  
      delete_execution_elements(ExecutionElements#execution_elements{lanes = undefined});
  
  delete_execution_elements(_) ->
      ok.
  
  
  %% @private
  -spec delete_lambda_snapshots(atm_workflow_execution:lambda_snapshot_registry()) -> ok.
  delete_lambda_snapshots(AtmLambdaSnapshotRegistry) ->
      lists:foreach(fun atm_lambda_snapshot:delete/1, maps:values(AtmLambdaSnapshotRegistry)).
  