Даже удивительно...

Народ почему-то считает фундаментальным некое абстрактное определение (причем оно может быть разным на разных языках).
А про этот злополучный "косвенный функциональный вызов" считается знать опасным по той причине,что его может не оказаться при смене компьютера
Не намного умнее, между прочим, чем "охладить комнату холодильником". Хоть обижайтесь, хоть нет - уровень понимания примерно один.

Ну предположим такую дикость: выпустили процессор БЕЗ возможности "косвенного функционального вызова"
((ну, скажем, прямых таких команд у проца нет, а стек лежит где-то в отдельной программно недоступной памяти, счетчик команд тоже недоступен категорически))
Что перестанет работать в языке ???
Да ВСЕ, связанное с, не побоюсь этого слова - полиморфизмом. Не только виртуальные ф-ии! Процедурные типы - на помойку, абстрактные разъемы - туда же, система сообщений, и т.д., и т.п..
И не только в КП. Сигналы, которымиИльяпоименовал дельфячийprocedure of object- туда же.
Т.е., одна "мелкая загогулина" рушит по половине функциональности во всех ЯВУ. И наоборот, обеспечивает любой вид полиморфизма, опять же - во всех ЯВУ.

Так кто тут фундаментальный, на самом деле-то
Думаю, что опять не поверят, и будут продолжать бояться - "а вдруг при смене компьютера...."

___________________________________________________________________
Не знаю... может следует объяснять полиморфизм ДО всяких ООП.
Процедурный тип - вот вам самый элементарный полиморфизм (имеющий максимально прямое отражение в коды)
И громко (типа: вбейте себе в мозг!!!) заявить, что все остальные виды его - это вариации вокруг этого типа... Не более, но и не менее...
Не знаю, не педагог...