fix :: (a -> a) -> a fix f = f (fix f) {- *Main> fix sqrt *** Exception: stack overflow -}