"Type" in EEL is essentially a special case of "class," so I'm not sure it makes sense to have a distinction. EEL_types, EEL_classes, and runtime allocated class IDs all live in the same space, and only differ in whether or not they're hardwired, and whether or not their values carry object pointers.
Maybe just eliminate EEL_types, typeid etc, and refer to it all as classes? That would avoid a lot of ugly typecasting.
"Type" in EEL is essentially a special case of "class," so I'm not sure it makes sense to have a distinction. EEL_types, EEL_classes, and runtime allocated class IDs all live in the same space, and only differ in whether or not they're hardwired, and whether or not their values carry object pointers.
Maybe just eliminate EEL_types, typeid etc, and refer to it all as classes? That would avoid a lot of ugly typecasting.