Давайте так: расширение типа является средством структурирования данных, а даже и кода (за счёт полиморфизма параметров)?
А может оно быть воспроизведено, например, в Модула-2 без уж очень "экзистенциальных" изворотов?
Виртуализация вызова от ООП - может. Сокрытие информации и так уж сто лет в модулях...