* the pointer returned by type_info::name() might be different even for
* objects of the same type! Hence we need to resort to comparing string
* representation of the (mangled) type names. This is quite expensive,
* the pointer returned by type_info::name() might be different even for
* objects of the same type! Hence we need to resort to comparing string
* representation of the (mangled) type names. This is quite expensive,