Честно говоря, не понял, о чём дискуссия. Есть разные архитектурные решения, в основе которых были заложены какие-то принципы. Одни тебе походят, другие нет. Хорошо, если получается взять готовое, а при необходимости допилить напильником. Но иногда люди делают ставку на вещи, которые изначально не заточены на то, что понадобится в будущем. Сериализаторы которые я видел, заточены на RTTI. Но правда в том, что не все типы, которые необходимо будет поддерживать, умещаются в RTTI. И не всеми компиляторами. Например, раньше не поддерживался RTTI для указателей. Нет понятия «глубины указателя», т.е. PChar и PPChar - это принципиально разные типы, разные условия конвертации, это не просто указатели. В FPC не генерируется RTTI для методов интерфейса, хотя это сверх мощная штука. А в Delphi для некоторых методов RTTI может не генерироваться, если они не удовлетворяют определенным условиям. Да и в целом концепция свойств отказывается учитывать случаи других соглашений кроме register, не учитывает [Unsafe] результат, с комплексными свойствами, типа TCanvas.Pixels[] вообще не понятно, что делать.