anchor.diff:          _ -> Bin
       end.
   
  -new_part(Data, MP) -> try_headers(Data, MP).
  +new_part(Data, MP) ->
  +    try_headers(Data, MP).
   
  -form_data(#mp{parts=Parts}) -> lists:reverse(Parts).
  +form_data(#mp{parts=Parts}) ->
  +    lists:reverse(Parts).
   
  -user_data(#mp{cb_data=Data}) -> Data.
  +user_data(#mp{cb_data=Data}) ->
  +    Data.
  
positive.code:       Window, Data, MP);
  try_headers(_Window, _Data, #mp{headers=skipping}=MP) ->
      MP;
  try_headers(_Window, Data, #mp{acc=Acc}=MP) ->
      MP#mp{acc=[Data|Acc]}.
  
  handle_match_headers(nomatch, _Window, Data, #mp{acc=Acc}=MP) ->
      MP#mp{acc=[Data|Acc]};
  handle_match_headers({Pos, Len}, Window, _Data, MP) ->
      <<Prev:Pos/binary, _:Len/binary, Next/binary>> = Window,
      start_body(Next, finalize_headers(Prev, MP)).
  
negative.code:        parts=[],
         name=undefined,
         headers=pending,
         last=undefined,
         acc=[],
         cb=Callback,
         cb_data=Data}.
  