В Тип-управляемая разработка с Idris ch 3, Брэди говорит,
Idris не будет обрабатывать каждое неопределенное имя как несвязанное неявное - только имена которые начинаются со строчной буквы и появляются либо сами по себе, либо в аргументе функции. Учитывая следующее,
test: f m a -> b -> a
... f
не рассматривается как неявный неявный, что означает, что он должен быть определен в другом месте для этого типа быть действительным.
Почему Идрис не может сделать вывод f
так же, как он выводит типы других переменных?