anchor.diff:  -spec set_attr(Attr::attr(), Value::json_input_value()) -> json_output_value().
   set_attr(Attr, Value) ->
       add_value("{}", Attr, Value).
  +
  +%% @doc
  +%% Sets a lsit of json attributes. This function is only for creating 
  +%% a proper JSON object with a list of attributes of {'Attr', Value}. 
  +
  +%% This function uses <a href="#add_values-2">add_values/2</a> and gives it an 
  +%% empty json object. See <a href="#add_values-2">add_values/2</a> for examples 
  +%% on how to use this function.
  +%%
  +%% @end
  +-spec set_attrs([{Attr::attr(), Value::json_input_value()}]) -> json_output_value().
  +set_attrs(AttrsAndValuesList) ->
  +    add_values("{}", AttrsAndValuesList).
   
   
   
  
positive.code: add_value_internal(Json, Attrs, Value) ->
      try erlson:get_value(Attrs, Json) of
  	undefined ->
  	    %% erlang:display("undefined Json"),
  	    ?erlson_default(erlson:store(Attrs, Value, Json), Json);
  	List when is_list(List) ->
  	    %% erlang:display("List Json"),
  	    NewList = lists:sort([Value | List]),
  	    erlson:store(Attrs, NewList, Json);
  	_ -> 
  	    %% erlang:display("non-list Json"),
  	    Json
      catch
  	_:_ ->
  
negative.code: %% ====================================================================
  %% API functions
  %% ====================================================================
  %% @doc 
  %% Adds a new value to a field with the name 'Field' and the value 'Value' to a JSON object.
  %% If the field doesn't exist then it is added, but only if the Field path is valid. This 
  