В "Type-Driven Development in Idris" увидел такой интересный шаблон проектирования, заключающийся в программировании не в самом Idris, а в множестве eDSL. Таким образом недопустимые операции (например, удаление файла при работе с REPL) нельзя выполнить + повышается самодокументируемость, ну все преимущества типизации.