public static Func Y(Func, Func> f) { return x => f(Y(f))(x); }