anchor.diff:  %% Would be the same as calling
   %% `send_body_part(UploadState, BodyPart, infinity)'.
   %% @end
  --spec send_body_part({pid(), window_size()}, binary()) -> 
  +-spec send_body_part({pid(), window_size()}, iolist()) -> 
           {pid(), window_size()} | result().
  -send_body_part({Pid, Window}, Bin) ->
  -    send_body_part({Pid, Window}, Bin, infinity).
  +send_body_part({Pid, Window}, IoList) ->
  +    send_body_part({Pid, Window}, IoList, infinity).
   
   %% @spec (UploadState :: UploadState, BodyPart :: BodyPart, Timeout) -> Result
   %%   BodyPart = iolist() | binary()
  
positive.code:             exit(Reason)
      after 0 ->
          {ok, {Pid, lhttpc_lib:dec(Window)}}
      end;
  send_body_part({Pid, _Window}, http_eob, Timeout) when is_pid(Pid) ->
      Pid ! {body_part, self(), http_eob},
      read_response(Pid, Timeout).
  
  %% @spec (UploadState :: UploadState, Trailers) -> Result
  %%   Header = string() | binary() | atom()
  
negative.code:     after Timeout ->
          kill_client(Pid)
      end;
  send_body_part({Pid, Window}, IoList, _Timeout) when Window > 0, is_pid(Pid) ->
                                                       % atom > 0 =:= true
      Pid ! {body_part, self(), IoList},
      receive
          {ack, Pid} ->
              %% body_part ACK
  