anchor.diff:      end,
       decode_keys(Rest, [KeyTypeValue|Acc]).
   
  +
   decode_key_value([], Acc) ->
       lists:reverse(Acc);
   decode_key_value([{FieldType, FieldValue}|Rest], Acc) ->
  
positive.code: decode_2i_key_schema([Attribute|Rest], Acc) ->
      decode_2i_key_schema(Rest, [{<<"AttributeName">>, kvc:path("AttributeName", Attribute)}, 
                                  {<<"KeyType">>, kvc:path("KeyType", Attribute)} | Acc]).
  
  
  decode_key_conditions([], Acc) ->
      lists:reverse(Acc);
  
negative.code:     {Key, {struct, Args}} = Condition,
      AttributeValues = decode_attribute_values(kvc:path("AttributeValueList", Args), []),
      ComparisonOperator = kvc:path("ComparisonOperator", Args),
      decode_key_conditions(Rest, [{binary:bin_to_list(Key), AttributeValues, binary:bin_to_list(ComparisonOperator)}|Acc]).
  
  
  decode_attribute_values([], Acc) ->
      lists:reverse(Acc);
  