Это вопрос приоритетов. Оправдано ли время (и объем кода) для реализации «неограниченного» количества типов в текущей области проекта?
Вы также хотели бы рассмотреть возможность сопровождения по мере роста проекта / компилятора.
Я бы сказал, что особые случаи, такие как избыточное количество типов, на самом деле не оправдывают принятие этого во внимание, если вы специально не нацелены на это. Кто ваша целевая аудитория?
UPDATE:
В некоторых случаях вы, возможно, захотите ограничить себя, чтобы стать более эффективным в каком-то другом аспекте (например, в памяти, скорости выполнения и т. Д.). Пока это четко задокументировано, я думаю, что вы должны идти в соответствии с вашими конкретными потребностями. 1009 *