anchor.diff:  
   parse_opt_list(_ListType, _Key, _Val, _Parse, _SyntaxOp, _Acc) ->
       {error, syntax}.
  +
  +
  +%% @private
  +check_unique_key(Key, List, #{'__check_unique_keys':=UniqueKeys}, Parse) ->
  +    case do_check_unique_keys(UniqueKeys, List) of
  +        ok ->
  +            {ok, Key, List, Parse};
  +        {error, UniqueKey} ->
  +            UniqueKey2 = list_to_binary([to_bin(Key), $., to_bin(UniqueKey)]),
  +            {error, duplicated_key_error(UniqueKey2, Parse)}
  +    end;
  +
  +check_unique_key(Key, List, _SyntaxOp, Parse) ->
  +    {ok, Key, List, Parse}.
  +
  +
  +%% @private
  +do_check_unique_keys([], _List) ->
  +    ok;
  +
  +do_check_unique_keys([UniqueKey|Rest], List) ->
  +    Values = [Value || #{UniqueKey:=Value} <- List],
  +    case lists:usort(Values) of
  +        Values ->
  +            do_check_unique_keys(Rest, List);
  +        _ ->
  +            {error, UniqueKey}
  +    end.
   
   
   
  
positive.code: 
  
  %% @private
  parse_opt_list(list, _SyntaxOp, Key, [], Parse, Acc) ->
      {ok, Key, lists:reverse(Acc), Parse};
  
  parse_opt_list(slist, _SyntaxOp, Key, [], Parse, Acc) ->
      {ok, Key, lists:sort(Acc), Parse};
  
  parse_opt_list(ulist, _SyntaxOp, Key, [], Parse, Acc) ->
      {ok, Key, lists:usort(Acc), Parse};
  
  parse_opt_list(ListType, SyntaxOp, Key, [Term | Rest], Parse, Acc) ->
      case parse_opt(SyntaxOp, Key, Term, Parse) of
  
negative.code:         Atom -> {ok, Atom}
      end.
  
  
  %% @private
  syntax_error(Key, Parse) ->
      {syntax_error, path_key(Key, Parse)}.
  
  
  %% @private
  duplicated_key_error(Key, Parse) ->
      {duplicated_key, path_key(Key, Parse)}.
  
  
  %% @private
  