anchor.diff:  
   handle_call({add_piece, Pid, PieceIndex}, _, State) ->
       #state{peer_monitors=Monitors, num_peers=Numpeers} = State,
  -    NewNumpeers = etorrent_scarcity:increment(PieceIndex, Numpeers),
  +    Prev = array:get(PieceIndex, Numpeers),
  +    NewNumpeers = array:set(PieceIndex, Prev + 1, Numpeers),
       Pieceset = etorrent_monitorset:fetch(Pid, Monitors),
       NewPieceset = etorrent_pieceset:insert(PieceIndex, Pieceset),
  -    NewMonitors = etorrent_monitorset:insert(Pid, NewPieceset, Monitors),
  +    NewMonitors = etorrent_monitorset:update(Pid, NewPieceset, Monitors),
       NewState = State#state{
           peer_monitors=NewMonitors,
           num_peers=NewNumpeers},
  
positive.code:     InitState = #state{
          torrent_id=TorrentID,
          num_pieces=NumPieces,
          num_peers=array:new(),
          peer_monitors=etorrent_monitorset:new()},
      {ok, InitState}.
  
  
negative.code:         [?_test(register_case()),
           ?_test(server_registers_case()),
           ?_test(initial_ordering_case()),
           ?_test(empty_ordering_case()),
           ?_test(init_pieceset_case()),
           ?_test(one_available_case())]}.
  
  register_case() ->
      true = ?scarcity:register_scarcity_server(0),
  