@djb It's not a "helpful hint". It makes it look like this is UB-filled nonsense accessing objects with the wrong types, when, with the round-trip through void * removed, it's clear (and checked by the compiler) that the objects are only accessed as their declared types.