anchor.diff:  spec({syntax, Syntax}, Key, Val, Parse) ->
       Path2 = path_key(Key, Parse),
       case parse(Val, Syntax, #{path=>Path2}) of
  -        {ok, Parsed, _List, _Other} ->
  -            {ok, Parsed};
  +        {ok, Parsed, Exp, NoOk} ->
  +            %% lager:warning("Parsed: ~p\nExp: ~p\nNoOk: ~p", [Parsed, Exp, NoOk]),
  +            {ok, Parsed, Exp, NoOk};
           {error, Error} ->
               {error, Error}
       end;
  
positive.code:             case spec(SyntaxOp, Key, Val, Parse) of
                  {ok, Val2} ->
                      {ok, Key, Val2};
                  error ->
                      {error, syntax_error(Key, Parse)};
                  {error, Error} ->
  
negative.code: 
  %% @private
  -spec spec(syntax_opt(), term(), term(), #parse{}) ->
      {ok, term()} | {ok, term(), [binary()], [binary()]} |
      error | {error, term()} | unknown.
  
  spec({ListType, SyntaxOp}, Key, Val, Parse) when ListType==list; ListType==slist; ListType==ulist ->
      case Val of
  