anchor.diff:              ok
       end,
       state_change(Id, Rest).
  +
  +
  
positive.code:     Q = all(#torrent.id),
      {reply, Q, S};
  handle_call({num_pieces, Id}, _F, S) ->
      [R] = ets:lookup(?TAB, Id),
      {reply, {value, R#torrent.pieces}, S};
  handle_call({statechange, Id, What}, _F, S) ->
      Q = state_change(Id, What),
      {reply, Q, S};
  
negative.code: state_change(_Id, []) ->
      ok;
  state_change(Id, [What | Rest]) ->
      %% @todo Be more protective here
      [T] = ets:lookup(?TAB, Id),
      New = case What of
                unknown ->
  