The crash was happening because add_method wasn't telling it's caller something went wrong. We then ended up with a vfunc and a regular field on the TYPE_MEMBERS list, but only the field in the CLASSTYPE_MEMBER_VEC. So we knew there was a virtual func, but couldn't find it. Fixed by having add_method return false. But that leads to the possibility of having NULL slots during class definition time as get_member_slot would always create the slot. I should have know that might bite somewhere else. So fixed by breaking get_member_slot into a finder and an adder. nathan -- Nathan Sidwell