anchor.diff:              %% add ourselves as learner and
               %% trigger paxos proposers for new round with own proposal 'abort'
               TxItemIDs = [ TxItemId || {_, TxItemId} <- tx_state:get_tlog_txitemids(TxState)],
  +            GLLearner = state_get_gllearner(State),
  +            Proposer = comm:make_global(get_my(Role, proposer)),
               [ begin
                     {_, ItemState} = get_item_entry(ItemId, State),
                     case tx_item_state:get_decided(ItemState) of
                         false ->
  -                          GLLearner = state_get_gllearner(State),
   %%                          ct:pal("initiating proposer~n"),
                             [ begin
                                   learner:start_paxosid(GLLearner, PaxId, Maj,
  
positive.code:               || {TLogEntr, TxItem} <- TLog_TxItems,
                   ?abort =:= tx_item_state:get_decided(TxItem)]
      end,
      case tx_state:get_numabort(TxState) =:= length(Result) of
          true -> ok;
          false ->
              ct:pal("This should not happen: ~p =/= ~p~n",
                     [tx_state:get_numabort(TxState), length(Result)])
      end,
      Result.
  
  
negative.code: 
  -spec get_failed_keys(tx_state:tx_state(), state()) -> [client_key()].
  get_failed_keys(TxState, State) ->
      NumAbort = tx_state:get_numabort(TxState),
      Result =
      case NumAbort of
          0 -> [];
          _ ->
              TLogTxItemIds = tx_state:get_tlog_txitemids(TxState),
  