public static Function Y(Function, Function> f) { return x -> f.apply(Y(f)).apply(x); }