Support code for encoding and decoding types.
Trait for types that can be deserialized
Trait for types that can be serialized
A note about error handling.