anchor.diff:  
   -spec get_failed_keys(tx_state:tx_state(), state()) -> [client_key()].
   get_failed_keys(TxState, State) ->
  +    NumAbort = tx_state:get_numabort(TxState),
       Result =
  -    case tx_state:get_numabort(TxState) of
  +    case NumAbort of
           0 -> [];
           _ ->
               TLogTxItemIds = tx_state:get_tlog_txitemids(TxState),
  
positive.code:             %% add ourselves as learner and
              %% trigger paxos proposers for new round with own proposal 'abort'
              TxItemIDs = [ TxItemId || {_, TxItemId} <- tx_state:get_tlog_txitemids(TxState)],
              [ 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,
  
negative.code:                                                 {acceptor_add_learner,
                                                   PaxId, GLLearner})
                                        || X <- ValidAccs],
                                  proposer:start_paxosid(
                                    Proposer, PaxId, _Acceptors = ValidAccs, ?abort,
                                    Maj, length(ValidAccs) + 1, ThisRTMsNumber),
  