anchor.diff:  
   
   %% @private
  -do_parse_key(Key, Val, Parse) ->
  +do_parse_key(Key, Val, #parse{allow_unknown=AllowUnknown}=Parse) ->
        case find_config(Key, Parse) of
            {ok, _Key2, ignore} ->
                {ok, Parse};
  
positive.code:                  {error, Error} ->
                       {error, Error}
               end;
           no_spec ->
              #parse{no_ok=NoOk} = Parse,
              {ok, Parse#parse{no_ok = [path_key(Key, Parse) | NoOk]}}
  
negative.code:             parse_opt_list(ListType, SyntaxOp, Key, [Val], Parse, [])
      end;
  
  parse_opt(Syntax, Key, Val, #parse{opts=Opts}=Parse) when is_map(Syntax) ->
      case is_list(Val) orelse is_map(Val) of
          true ->
              Path2 = path_key(Key, Parse),
              case parse(Val, Syntax, Opts#{path=>Path2}) of
                  {ok, Parsed, NoOk2} ->
                      #parse{ok_all = OkAll, no_ok = NoOk} = Parse,
                      Parse2 = Parse#parse{no_ok = NoOk++NoOk2, ok_all = [{Path2, Parsed}|OkAll]},
  