This is my use case:
I want to save and read UObjects to files on disk. However I only want to save certain properties, not all of them. I do not want to encode/decode variables in a fixed order, because the encoding/decoding formats will change in the future.
So my plan was to assign a byte to each variable, and use a switch statement to read and write the variable linked to that byte to/from the file on disk.