anchor.diff:  %% Would be the same as calling
   %% `send_body_part(UploadState, BodyPart, infinity)'.
   %% @end
  --spec send_body_part(upload_state(), iolist() | 'http_eob') -> result().
  +-spec send_body_part(upload_state(), iodata() | 'http_eob') -> result().
   send_body_part({Pid, Window}, IoList) ->
       send_body_part({Pid, Window}, IoList, infinity).
   
   %% @spec (UploadState :: UploadState, BodyPart :: BodyPart, Timeout) -> Result
  -%%   BodyPart = iolist() | binary()
  +%%   BodyPart = iodata() | binary()
   %%   Timeout = integer() | infinity
   %%   Result = {error, Reason} | UploadState
   %%   Reason = connection_closed | connect_timeout | timeout
  
positive.code: %% there is no response within `Timeout' milliseconds, the request is
  %% canceled and `{error, timeout}' is returned.
  %% @end
  -spec send_body_part(upload_state(), iolist() | 'http_eob', timeout()) -> result().
  send_body_part({Pid, _Window}, http_eob, Timeout) when is_pid(Pid) ->
      Pid ! {body_part, self(), http_eob},
      read_response(Pid, Timeout);
  
negative.code:     end.
  
  %% @spec (UploadState :: UploadState, BodyPart :: BodyPart) -> Result
  %%   BodyPart = iodata() | binary()
  %%   Timeout = integer() | infinity
  %%   Result = {error, Reason} | UploadState
  %%   Reason = connection_closed | connect_timeout | timeout
  