тип посмотри типы алегбр коалгебр
Я ща не готов докидывать аргументов, но есть ощущение, что если накинуть баундов на параметр, то можно вместо кейс класса использовать кейс обжект, так мы съеэкономим на аллокациях при большом количестве терминаторов выражений