Упоминалось об изменении иерархии классов во время выполнения.
Постарайтесь найти пример. Что имелось в виду. Создание новой пары класс+объект? Или изменение
интерфейса объекта? Информатика и вычислительная техника за 20й век насоздавала столько экзотических
языков и парадигм что на любой каприз можно что-нибудь да найти. Создавались даже такие языки
цель которых - максимально усложнить (Malbolge) разработку. Поэтому если "просто так менять иерархию" - то
можно уподобляться комсомольцам которые сначала создают проблемы а потом их героически решают.