anchor.diff:      end;
   
   do_parse_config({enum, List}, Val) ->
  -    Atom = to_existing_atom(Val),
  -    case lists:member(Atom, List) of
  -        true -> {ok, Atom};
  -        false -> error
  +    case to_existing_atom(Val) of
  +        {ok, Atom} ->
  +            case lists:member(Atom, List) of
  +                true -> {ok, Atom};
  +                false -> error
  +            end;
  +        error ->
  +            error
       end;
   
   do_parse_config(list, Val) ->
  
positive.code:     {ok, [], []} = parse_config([], Spec),
      {ok, [], []} = parse_config(#{}, Spec),
  
      {error, {unknown_atom, "12345"}} = parse_config([{field01, "12345"}], Spec),
      
      {ok,[{field01, fieldXX}, {field02, false}],[{"unknown", a}]} = 
          parse_config(
              [{field01, "fieldXX"}, {field02, <<"false">>}, {"unknown", a}],
              Spec),
  
negative.code: %% @private
  -spec parse_config([{term(), term()}], [{atom(), term()}], [{atom(), term()}],
                     syntax(), parse_opts()) ->
      {ok, [{atom(), term()}], [{binary(), term()}]}.
  
  parse_config([], Ok, NoOk, _Syntax, #{return:=map}) ->
      % We need to reverse to get only the last value
  