anchor.diff:  default_state() ->
       parser_init($,, $").
   
  +-spec(parse_stream_(RF :: reader_fun(RST), RS0 :: RST, CF :: callback_fun(CST), CS0 :: CST, State0 :: state()) -> {RS :: RST, CS :: CST, State :: state()}).
   parse_stream_(RF, RS, CF, CS, State) ->
       case RF(RS) of
           {eof, RS2} ->
  
positive.code: default_block_size() ->
      ?BLOCK_SIZE.
  
  parse(Bin) ->
      {ok, Acc, S} = parse_raw(Bin, default_state(), []),
      {ok, Ls, _} = parse_raw(eof, S, Acc),
      lists:reverse(Ls).
  
  parse(Bin, State) ->
      parse_raw(Bin, State, []).
  
  parse_stream(ReaderFun, ReaderState, CallbackFun, CallbackState) ->
      parse_stream(ReaderFun, ReaderState, CallbackFun, CallbackState,
                   default_state()).
  
  parse_stream(ReaderFun, ReaderState, CallbackFun, CallbackState, State) ->
      parse_stream_(ReaderFun, ReaderState, CallbackFun, CallbackState,
                   State).
  
  parser_init(Delim, Quote) ->
      erlang:nif_error(not_loaded, [Delim, Quote]).
  
  file_reader() ->
      fun(FS) ->
              case file:read(FS, ?BLOCK_SIZE) of
  
negative.code:             end
      end.
  
  -spec(block_chopper(BlockSize :: pos_integer()) -> reader_fun(reader_state())).
  block_chopper(BlockSize) ->
      fun(<<>>) ->
              {eof, <<>>};
         (<<Bin:BlockSize/bytes, Rest/bytes>>) ->
              {Bin, Rest};
         (Bin) ->
              {Bin, <<>>}
  