anchor.diff:      map | 
       log_level |
       map() |                     % Allow for nested objects
  -    list() |                    % First mathing option is used
  +    list() |                    % First matching option is used
       syntax_fun() |
       '__defaults' |              % Defaults for this level
       '__mandatory'.              % Mandatory fields (only root level)
  
positive.code:         path => binary(),           % Use base path instead of <<>>
          defaults => map(), 
          mandatory => [atom()|binary()],
          warning_unknown => boolean()
      }.
  
  -type error() ::
  
negative.code:                         defaults = maps:get(Key2, Defaults, #{})
                      },
                      case do_parse(Val2, NestedParse) of
                          {ok, #parse{ok=OK2, ok_exp=Exp2, no_ok=NoOK2}} ->
                              PathKey = path_key(Key2, Parse),
                              Key3 = case maps:get({binary_key, PathKey}, Opts, false) of
                                  false -> Key2;
                                  true -> to_bin(Key2)
                              end,
                              Parse2 = Parse#parse{
                                  ok = [{Key3, {OK2}}|OK],
                                  ok_exp = Exp2,
                                  no_ok = NoOK2
                              },
                              {ok, Parse2};
                          {error, Error} ->
  