The TyVisitor impl in core::repr assumes it knows how enums are laid out, and can determine this based only on the number of variants. This will break if we want to do anything interesting with representations. In particular, this blocks #1271 (nullable pointers, which I have mostly implemented aside from this) and #1647 (smaller discriminants).