В частности, автор прекрасной книги Thinking with Types так и сказал. Мол, глубоко погружаться в type-level мир нужно лишь в том случае, если цена ошибки в вашем коде значительно превосходит все трудности, с которым это погружение будет сопряжено. В противном случае - подумайте трижды.