It's actually really interesting, some of the backwards compatibility features. For example, directory hashes that allow fast name lookup are hidden inside of "empty" elements of the previous list format so that older drivers can still find files in the newer versions of the file system.
Many structures also include their size, so that drivers can tell how much functionality any given element supports by which fields it contains or omits.
reminds of FAT, where clever scheme was put to keep the long file names in between the short ones, using several records, all begining with \0x00 so that they are ignored.
Many structures also include their size, so that drivers can tell how much functionality any given element supports by which fields it contains or omits.