I'm all for killing this typedef, but the name of both the union and the typedef is just horrible as it describes an on-disk log record. Maybe replace the union name with something like xlog_rec or xlog_record first, update the comment above the definiton and only then kill the typedef?