anchor.diff:      State2 = read_socket(State),
       peek_byte(State2);
   peek_byte(State) ->
  -    binary:first(hd(State#state.buf)).
  +    Byte = binary:first(hd(State#state.buf)),
  +    <<Byte>>.
   
   eat_byte(State = #state{buf = []}) ->
       State2 = read_socket(State),
  
positive.code: 
  eat_empty_lines(State) ->
      case peek_byte(State) of
          $\n ->
              eat_empty_lines(eat_byte(State));
          _ ->
              State
  
negative.code: read_size_chunk(State, Size, Sep) ->
      {Parts, State2} = read_size_chunk(State, Size, Sep, []),
      case peek_byte(State2) of
          Sep ->
              {lists:reverse(Parts), eat_byte(State2)};
          _ ->
              % TODO
  