Many file format packages have their own serialization and deserialization functions, with different APIs.
I would like to have a single unified API.
For example,
serialize(data::Serializable, target::AbstractTarget, format::AbstractFormat)
deserialize(source::AbstractTarget, format::AbstractFormat)
Or,
serialize(data::Serializable, target::Target{Format})
deserialize(source::Target{Format})
Or similar. I’m not sure about the output types.
What do you think about this idea?