Каждый раз, когда Ive использовал fix :: (a -> a) -> a
, он был в типе
((a -> b) -> a -> b) -> a -> b
для некоторых a
и b
. Есть ли на самом деле какое-либо приложение fix
, где его параметр типа не создается для типа функции, кроме тривиальной вещи, например fix (const 0)
? Какова цель оставить подпись наиболее общей?