Здравствуйте, _hum_, Вы писали:
__>а нужно, например, для того, чтобы сократить код для динамического приведения типов (в том же union или arithmetic_variant)
А если мне надо ещё и своё длинное целое, рациональное или с фиксированной точкой добавить?

Это противоречит концепции С++, что библиотечные типы не хуже/лучше пользовательских...
__>а это зачем?
просто, имхо, значения сложных типов редко когда корректно приводятся друг к другу
Ну указатели на них часто, например...
А ещё вот такая конструкция, как std::vector<int>& в std::vector<const int>& тебе?
__>нет. простые (базовые, фундаментальные) — это те, которые не предполагают в своем определении задействования других типов.
Ну это очень мало типов просто. Что делать с 64-битным целым, а со 128-битным, например?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском