Provides an encoding and a decoding functions for a given type.
Provides a decoding function for a given type, attempt to read an Java AttributeValue into type A
Provides an encoding function for a given type, write value of type A as a Java AttributeValue