думаю они описаны как нибудь в стиле "один элемент знает про другие" про список и "элемент ничего не знает про другие, но есть управляющая конструкция, знающая длину и начало" про массив в терминах математики/или чего то похожего
Any и std::function используют rtti потому что стандартом не определено наличие таблицы виртуальных функций или по какой то другой причине? И как конкретно зная допустим объект typeid(Type) приводят к нему? Или вызывают его метод? Таблицы создают?