anchor.diff:      }.
   
   return(#yaml_parser{has_errors = true} = Parser) ->
  -    throw(Parser);
  +    throw_parser_state(Parser);
   return(#yaml_parser{raw_eos = true, chars_len = 0} = Parser) ->
       Parser;
   return(Parser) ->
       {continue, Parser}.
  +
  +throw_parser_state(Parser) ->
  +    throw({yaml_parser, Parser}).
  
positive.code: 
  set_token_fun(Parser, Fun) when is_function(Fun, 1) ->
      Parser#yaml_parser{token_fun = Fun}.
  
  %% -------------------------------------------------------------------
  %% Determine encoding and decode Unicode.
  
negative.code:       "Empty flow collection entry not allowed~n", []),
      Parser2 = next_col(Parser1, 1, Rest),
      next_state(Parser2, fun find_next_token/1);
  parse_flow_entry(#yaml_parser{chars = [_ | Rest],
    cur_coll = #fcoll{kind = Kind}} = Parser) ->
      Parser1 = finish_incomplete_flow_entries(Parser),
      Parser2 = remove_impl_key_pos(Parser1),
      Parser3 = allow_impl_key(Parser2, true),
      Parser4 = case Kind of
          sequence ->
              Parser3#yaml_parser{
                pending_entry = true
              };
          mapping ->
              Parser3#yaml_parser{
                waiting_for_kvpair = true
              }
  