anchor.diff:                                                  {acceptor_add_learner,
                                                    PaxId, GLLearner})
                                         || X <- ValidAccs],
  -                                Proposer =
  -                                    comm:make_global(get_my(Role, proposer)),
                                   proposer:start_paxosid(
                                     Proposer, PaxId, _Acceptors = ValidAccs, ?abort,
                                     Maj, length(ValidAccs) + 1, ThisRTMsNumber),
  
positive.code: 
  -spec get_failed_keys(tx_state:tx_state(), state()) -> [client_key()].
  get_failed_keys(TxState, State) ->
      Result =
      case tx_state:get_numabort(TxState) of
          0 -> [];
          _ ->
              TLogTxItemIds = tx_state:get_tlog_txitemids(TxState),
  
negative.code:               || {TLogEntr, TxItem} <- TLog_TxItems,
                   ?abort =:= tx_item_state:get_decided(TxItem)]
      end,
      case NumAbort =:= length(Result) of
          true -> ok;
          false ->
              ct:pal("This should not happen: ~p =/= ~p~n",
                     [NumAbort, length(Result)])
      end,
      Result.
  
  