That leaves Question #2 and an Extra Thought

2) 'special_generic_ivar' - a) Is this to trigger Garbage Collection 

                                 ONLY for Special Constant Values?
                           - b) If it is - Is it because there is no real
                                object in Object Space to trigger GC?

2a) 'Special Constant' Values are defined as?

     aa) rb_special_const_p(obj) returns TRUE if 'obj' is
         a Special Constant Value:

           rb_special_const_p(obj)
             VALUE obj
             {
             if (SPECIAL_CONST_P(obj)) return Qtrue;
               return Qfalse;
             }

     bb) SPECIAL_CONST_P(obj) returns TRUE if

           ( IMMEDIATE_P(obj)  ||   !RTEST(obj)  ) is TRUE

                IMMEDIATE_P(obj) is TRUE if   ( (obj) & 03 ) is non-zero

                !RTEST(obj) is TRUE if  obj = is not QNIL & is not QFALSE

         Now am I crazy or does "rb_special_const_p(obj)" return TRUE
         only if:
                 1) lsb 0 = 1       (FIXNUM)
                 2) lsb 1 = 1       (SYMBOL, TRUE, or UNDEF)
                 3) !RTEST == TRUE   if  ( not NIL  and not FALSE)

         WHY are QNIL and QFALSE excluded in a test for
         non-reference VALUES??

         Did I fail LOGIC 101?   (Hope Not, I a Computer Science Degree!)

-- 
GodFather -- 667 Neighbor of the Beast