Мы сошлись на PRIME.

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