anchor.diff:              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} ->
  
positive.code: 
  %% @private
  -spec spec(syntax_opt(), term(), term(), #parse{}) ->
      {ok, term()} | error | {error, term()} | unknown.
  
  spec({ListType, SyntaxOp}, Key, Val, Parse) when ListType==list; ListType==slist; ListType==ulist ->
      case Val of
  
negative.code:                     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} ->
  