Вывод типов в обобщённом коде трудная ли задача?
Если мы говорим об обобщённом коде с параметричностью и классами типов (возможно высшего порядка), то хоть и трудная, но алгоритмически однозначно разрешимая, вывод типов будет работать детерминированно и предсказуемо по времени.
В C++ по историческим причинам вывод типов оказался ограниченным, это несколько снижает удобство использования, но по-прежнему им можно успешно пользоваться, так что я не противопоставляю C++ чему-то.
Я скорее задаюсь вопросом: "Какие уже существующие конструкции языка помешали сделать вывод типов с расширенным контекстом? Или это было дизайнерское решение Консорциума не вводить эту фичу, чтобы сохранить предсказуемость компиляции?"
По-видимому неоднозначность вывода и послужило причиной, чтобы не делать сложный вывод. Ну я так понял из обсуждения выше.