anchor.diff:  spec({syntax, Syntax}, Key, Val, Parse) ->
       Path2 = path_key(Key, Parse),
       case parse(Val, Syntax, #{path=>Path2}) of
  -        {ok, Parsed, Exp, NoOk} ->
  +        {ok, Parsed, Exp2, NoOk2} ->
               %% lager:warning("Parsed: ~p\nExp: ~p\nNoOk: ~p", [Parsed, Exp, NoOk]),
  -            {ok, Parsed, Exp, NoOk};
  +            #parse{ok_exp=Exp, no_ok=NoOk} = Parse,
  +            Parse2 = Parse#parse{ok_exp=Exp2++Exp, no_ok=NoOk2++NoOk},
  +            {ok, Parsed, Parse2};
           {error, Error} ->
               {error, Error}
       end;
  
positive.code:                                 false -> Key2;
                                  true -> to_bin(Key2)
                              end,
                              Parse2 = Parse#parse{
                                  ok = [{Key3, {OK2}}|OK],
                                  ok_exp = Exp2,
  
negative.code:                     {error, Error}
              end;
          error ->
              #parse{no_ok=NoOk} = Parse,
              {ok, Parse#parse{no_ok=[path_key(Key, Parse)|NoOk]}}
      end.
  
  