anchor.diff:  %% @doc Return the head of the queue
   %% If the queue is empty this function will return false.
   %% @end
  --spec peek(#requestqueue{}) -> false | requestspec().
  +-spec peek(rqueue()) -> false | requestspec().
   peek(Requestqueue) ->
       #requestqueue{queue=Queue} = Requestqueue,
  -    case queue:is_empty(Queue) of
  -        true  -> false;
  -        false -> queue:get(Queue)
  +    case queue:peek(Queue) of
  +        empty -> false;
  +        {value, {_,_,_}=Head} -> Head
       end.
   
   
  
positive.code: %% @doc Return the head of the request queue and the tail of the queue
  %% If the request queue is empty the function will throw a badarg error.
  %% @end
  -spec pop(#requestqueue{}) -> {requestspec(), requestqueue()}.
  pop(Requestqueue) ->
      #requestqueue{queue=Queue} = Requestqueue,
      case queue:out(Queue) of
  
negative.code: %% The queue returns a new queue including the new request.
  %% @end
  -spec push(pieceindex(), chunkoffset(),
             chunklength(), #requestqueue{}) -> rqueue().
  push(Pieceindex, Offset, Length, Requestqueue) ->
      #requestqueue{queue=Queue} = Requestqueue,
      NewQueue = queue:in({Pieceindex, Offset, Length}, Queue),
  