fix :: (a -> a) -> a fix f = let x = f x in x
That definition is dependent on recursion already being present.
That definition is dependent on recursion already being present.