Добрый день. Есть обобщенный компонент для работы с деревом. Работает он одновременно с 4 типами данных, но есть несколько полей, общих для всех. Я сделал интерфейс ITreeNode и от него унаследовал интерфейсы для всех 4 типов, внутри все функции работают именно с типом ITreeNode, и его же возвращают. Но есть несколько мест, где нужно получить инфу именно из наследуемого типа, например при рендере карточек. Так же при сабмите нужно возвращать в хендлер значение именно в наследуемом типе (одном из 4х, в зависимости от пропса переданного). Вопрос, как это можно реализовать без функций - конвертаторов. Сейчас в хендлере назад передается тот же самый ITreeNode и уже во внешнем компоненте приводится через гвард к наследуемому интерфейсу. Можно ли это как-то удобней сделать?