Type_Info_Handle type_info_get_type_info(Type_Info_Handle tih) { TypeDesc* td = (TypeDesc*)tih; assert(td); switch (td->get_kind()) { case K_Vector: case K_Array: return td->get_element_type(); case K_ManagedPointer: case K_UnmanagedPointer: return td->get_pointed_to_type(); default: LDIE(73, "Unexpected kind"); return 0; } } //type_info_get_type_info