Just had a look at this and it doesn't simplify things all that much. I also kind of like that the fields are now responsible for how they are (de-)serialized :(