Мыслить монадами, но реализовывать через switch — балансирует абстракцию и практичность, учитывая правило Брукса: "debugging абстрактного кода в N раз сложнее написания". В "The Mythical Man-Month" Фред Брукс сформулировал: отладка кода в 9 раз сложнее написания для простых случаев, а для абстракций (типа монад) — exponentially больше из-за скрытых зависимостей и композиции.
Наглядный Switch минимизирует это, делая каждый режим traceable без стека вызовов.