anchor.diff:  %% But in the process, skip over any peer which is unintersting
   split_preferred_peers([], L, S) -> {L, S};
   split_preferred_peers([#rechoke_info { peer_state = PeerState, r_interest_state = RemoteInterest,
  -				       state = State, snubbed = Snubbed } = P | Next],
  +				       state = State, peer_snubs = Snubbed } = P | Next],
   		      WeLeech, WeSeed) ->
       case PeerState == seeding orelse RemoteInterest == not_interested of
           true ->
  
positive.code: -record(rechoke_info, {pid :: pid(),
                         peer_state :: 'seeding' | 'leeching', % Is the peer seeding or leeching
                         state :: 'seeding' | 'leeching' , % Are we seeding or leeching the torrent of the peer
                         snubbed :: boolean(),
                         r_interest_state :: 'interested' | 'not_interested',
                         r_choke_state :: 'choked' | 'unchoked' ,
                         l_choke :: boolean(),
  
negative.code: 	    %% We are seeding this torrent, so throw the Peer into the group of peers we seed to
              split_preferred_peers(Next, WeLeech, [P | WeSeed]);
          false when Snubbed =:= true ->
  	    %% The peer has not sent us anything for 30 seconds, so we
  	    %% regard the peer as snubbing us. Thus, unchoking the peer would
  	    %% be rather insane. We'd rather use the slot for someone else.
              split_preferred_peers(Next, WeLeech, WeSeed);
          false ->
  	    %% If none of the other cases match, we have a Peer we are leeching
  	    %% from, so throw the peer into the leecher set.
              split_preferred_peers(Next, [P | WeLeech], WeSeed)
      end.
  
  