Is it actually permitted? That would mean MemoryLayout.offset(of:) could return nil or not based on the whims of the optimiser, or the target platform.
Packing trivial struct fields in to unaligned storage is probably fine (each field would still have a byte offset), but packing multiple fields as a single byte would probably require some kind of opt-in attribute, wouldn’t it?