anchor.diff:          true ->
               Response = {ok, {Status, Hdrs, self()}},
               State#client_state.requester ! {response, self(), Response},
  -            read_partial_body(State, Vsn, Hdrs, body_type(Hdrs));
  +            MonRef = erlang:monitor(process, State#client_state.requester),
  +            Res = read_partial_body(State, Vsn, Hdrs, body_type(Hdrs)),
  +            erlang:demonitor(MonRef, [flush]),
  +            Res;
           false ->
               {Status, Hdrs, undefined}
       end.
  
positive.code: read_partial_finite_body(State = #client_state{requester = To}, Hdrs, 
          ContentLength, 0) ->
      receive
          {ack, To} -> read_partial_finite_body(State, Hdrs, ContentLength, 1)
          %%TODO: Timeout or monitor requester process??
      end;
  read_partial_finite_body(State = #client_state{requester = To}, Hdrs, 
          ContentLength, Window) when Window >= 0->
  
negative.code:     
  read_partial_infinite_body(State = #client_state{requester = To}, Hdrs, 0) ->
      receive
          {ack, To} -> read_partial_infinite_body(State, Hdrs, 1);
          {'DOWN', _, process, To, _} -> exit(normal)
      end;
  read_partial_infinite_body(State = #client_state{requester = To}, Hdrs, Window) 
          when Window >= 0 ->
  