пример про дженерики-против-енумов. У нас в zkvm есть два режима - Prover и Verifier. Сначала код транзакции прогоняется через Prover, где создается пруф. А потом - через Verifier, где пруф проверяется.
Так вот в представлении кода на стороне прувера все куски данных - "богатые", у них есть всякие секретики, деревья и т.д. в доступе. А на выходе - "голый" байткод, где все секреты сплющены в публичные ключи или коммитменты.
Так вот первоначальная попытка была сделать все эти типы - генериками с трейтами. Чтоб полный zero cost курильщика получился.