fun : [`a, `b] ((`a -> `b) -> (`a -> `b)) -> `a -> `b -> `b fix0 (f : (`a -> `b) -> (`a -> `b)) = (\(a : `b) -> (\(b : `a) -> f (\(x : `a) -> b : `a -> `b) a : `b -> `b) : `a -> `b -> `b)