anchor.diff:                      Parse2 = Parse#parse{
                           ok = [{Key4, Val3}|OK],
                           ok_exp = [{PathKey, Val3}|OkExp]
  +                    },
  +                    {ok, Parse2};
  +                {ok, Key3, Val3, Exp3, NoOk3} ->
  +                    PathKey = path_key(Key3, Parse),
  +                    Key4 = case maps:get({binary_key, PathKey}, Opts, false) of
  +                        false -> Key3;
  +                        true -> to_bin(Key3)
  +                    end,
  +                    Parse2 = Parse#parse{
  +                        ok = [{Key4, Val3}|OK],
  +                        ok_exp = [{PathKey, Val3}|Exp3++OkExp],
  +                        no_ok = NoOk3++NoOk
                       },
                       {ok, Parse2};
                   {nested, Val2, Nested} ->
  
positive.code: spec({syntax, Syntax}, Key, Val, Parse) ->
      Path2 = path_key(Key, Parse),
      case parse(Val, Syntax, #{path=>Path2}) of
          {ok, Parsed, _List, _Other} ->
              {ok, Parsed};
          {error, Error} ->
              {error, Error}
      end;
  
negative.code:             case spec(SyntaxOp, Key, Val, Parse) of
                  {ok, Val2} ->
                      {ok, Key, Val2};
                  {ok, Val2, Exp2, NoOk2} ->
                      {ok, Key, Val2, Exp2, NoOk2};
                  error ->
                      {error, syntax_error(Key, Parse)};
                  {error, Error} ->
  