Maybe worth just explaining exactly what is going on here (I had to look it up).
I.E. to confirm the points...
 * this is only called when 'ordinary' attribute access fails
 * the usual case is that the relevant header slot has not yet been converted into a named field attribute (this is deferred, for efficiency)
 * when this happens, we lookup the index(es) in the raw header and save the data as a normal attribute (so this call won't happen again for this attribute)

In addition, the mechanism for 'special' attributes needs explaining further.
I'm still struggling to really understand this bit at present...
 * attributes whose name starts with '_'  are "special"
 * each has a corresponding property (i.e. not an ordinary attribute), without the leading underscore
 * when it exists, the private value is the 'cached' computed property
 * in several cases (lbpack, lbproc etc.), the required value is a 'SplittableInt' derived from a single header word.  In these cases, when the cached value does not already exist, it is calculated by passing the "plain" integer value to the property *setter* function.

I'm actually finding this even harder to explain than to understand, so perhaps you can clarify this better ??