anchor.diff:  		when is_integer(Amount) ->
   	Price = {struct, [{"taxIncludedAmount", Amount}]},
   	alteration(T, A, [{"price", Price} | Acc]);
  -alteration([currency | T], A, Acc) ->
  -	alteration(T, A, Acc);
   alteration([_ | T], A, Acc) ->
   	alteration(T, A, Acc);
   alteration([], _A, Acc) ->
  
positive.code: 		when is_integer(Amount) ->
  	Price = {struct, [{"taxIncludedAmount", Amount}]},
  	price(T, P, [{"price", Price} | Acc]);
  price([currency | T], P, Acc) ->
  	price(T, P, Acc);
  price([char_value_use | T], #price{char_value_use = CharValueUses} = P, Acc) ->
  	price(T, P, [{"prodSpecCharValueUse", char_value_uses(CharValueUses)} | Acc]);
  price([alteration | T], #price{alteration = Alteration} = P, Acc)
  
negative.code: 	alteration(T, A, [{"validFor", ValidFor} | Acc]);
  alteration([end_date | T], A, Acc) ->
  	alteration(T, A, Acc);
  alteration([type | T], #alteration{type = Type} = A, Acc)
  		when Type /= undefined ->
  	alteration(T, A, [{"priceType", price_type(Type)} | Acc]);
  alteration([period | T], #alteration{period = Period} = A, Acc)
  		when Period /= undefined ->
  	alteration(T, A, [{"recurringChargePeriod", price_period(Period)} | Acc]);
  alteration([units | T], #alteration{units = octets, size = Size} = A, Acc)
  		when is_integer(Size) ->
  	alteration(T, A, [{"unitOfMeasure", integer_to_list(Size) ++ "b"} | Acc]);
  alteration([units | T], #alteration{units = seconds, size = Size} = A, Acc)
  		when is_integer(Size) ->
  	alteration(T, A, [{"unitOfMeasure", integer_to_list(Size) ++ "s"} | Acc]);
  alteration([amount | T], #alteration{amount = Amount, currency = Currency} = A, Acc)
  		when is_integer(Amount), is_list(Currency) ->
  	Price = {struct, [{"taxIncludedAmount", Amount},
  