По совету товарищей немного скорректировал механизм кодирования разновидностей, находящихся в иерархии.

Слева вы видите пример, как выглядела иерархия раньше, справа - новая. Сейчас из кода подчиненной разновидности видно кто ее родитель, это очень удобно.
