ну вот что-то типа такого не подходит?
я понял что ты предлагаешь, собирать схему не внутри контракта, а снаружи. Так впринципе хороший обход. Есдинственное что при добавлении каждого нового типа блока надо будет писать свою схему параметров. А я из-за лени хотел обойтись только добавлением символа в конфиг, потому что схемы одинаковые. Но пока кажется нет более подходящего решения