anchor.diff:              NewEntryAndResult(Entry, Value);
           {fail, not_a_number} ->
               NewEntryAndResult(Entry, Value);
  -        {fail, Reason} ->
  -            {Entry, {fail, Reason}};
  +        {fail, _Reason} = Failed ->
  +            {Entry, Failed};
           value ->
               NewEntryAndResult(Entry, Value);
           not_found ->
  
positive.code:       (not erlang:is_list(ToDel)) ->
      %% input type error
      Error = {fail, not_a_list},
      NewTlogEntry = case tx_tlog:get_entry_status(Entry) of
                         {fail, _} -> Entry;
                         not_found -> tx_tlog:set_entry_status(Entry, {fail, not_found});
                         _ -> tx_tlog:set_entry_status(Entry, Error)
                     end,
      {NewTlogEntry, Error};
  tlog_add_del_on_list(Entry, Key, ToAdd, ToDel) ->
      {_, Res0} = tlog_read(Entry, Key),
      case Res0 of
  
negative.code:             tlog_write(Entry, Key, X);
          {ok, _} ->
              Error = {fail, not_a_number},
              {update_tlog_entry_2phase_op(Entry, Error), Error};
          E when erlang:is_tuple(E) -> %% other previous error
              {Entry, E}
      end.
  