anchor.diff:                  manifest :: lfs_manifest(),
                   content_length :: pos_integer(),
                   content_type :: binary(),
  -                num_bytes_received :: non_neg_integer(),
  +                num_bytes_received=0,
                   max_buffer_size :: non_neg_integer(),
                   current_buffer_size :: non_neg_integer(),
                   buffer_queue=[], %% not actually a queue, but we treat it like one
  -                remainder_data :: binary(),
  +                remainder_data :: undefined | binary(),
                   free_writers :: ordsets:new(),
                   unacked_writes=ordsets:new(),
                   next_block_id=0,
  
positive.code:     gen_fsm:sync_send_event(Pid, finalize).
  
  block_written(Pid, BlockID) ->
      gen_fsm:sync_send_event(Pid, {block_written, BlockID, self()}).
  
  %%%===================================================================
  %%% gen_fsm callbacks
  
negative.code: done(finalize, _From, State) ->
      %% 1. reply immediately
      %%    with the finished manifest
  
      %% need to synchronously
      %% wait for the manifest
      %% to be saved, I think.
      Reply = ok,
      {reply, Reply, stop, State}.
  
  