(It pays for this with extra indirection at runtime, of course: ivar accesses must first look up their runtime-resolved offset.)