anchor.diff:  	[] ->
   	    %% Nothing left, we may not have got everything
   	    mnesia:delete_object(R),
  -	    case length(Return) of
  -		Num ->
  -		    {ok, Return};
  -		N when is_integer(N) ->
  -		    Remaining = Num - N,
  -		    {partial, Return, Remaining}
  -	    end;
  +	    Remaining = Num - length(Return),
  +	    {ok, Return, Remaining};
   	[_|_] ->
   	    %% More left, we got everything we wanted to get
   	    mnesia:write(R#chunk {chunks = Rest}),
  -	    {ok, Return}
  +	    {ok, Return, 0}
       end.
   
   %%--------------------------------------------------------------------
  
positive.code: 		  [] ->
  		      none_eligible;
  		  [PieceNum | _] ->
  		      case select_chunks_by_piecenum(Handle, PieceNum,
  						     N, Pid) of
  			  {ok, Ans} ->
  			      {ok, Ans, PieceNum, 0};
  			  {partial, Chunks, Remaining, PieceNum} ->
  			      {ok, Chunks, Remaining, PieceNum}
  		      end
  	      end
        end).
  
  
negative.code: 			       R#piece.id =:= Id,
  			       R#piece.piece_number =:= S,
  			       R#piece.state =:= not_fetched]),
  	      Eligible = qlc:e(Q1, {max_list_size, 1}),
  	      case Eligible of
  		  [] ->
  		      none_eligible;
  		  [P] ->
  		      ensure_chunking(Id, P),
  		      ok
  	      end
  