Data_encoding.t value which records knowledge of older versions of a given encoding as long as one can "upgrade" from an older version to the next (if upgrade is impossible one should consider that the encoding is completely different).
See the module
"./test/versioned.ml" for a tutorial.
first_version enc records that
enc is the first (known) version of the object.
next_version enc upgrade prev constructs a new version from the previous version
prev and an